Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.02.2012, 22:19   #1
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию Одномерный массив в Delphi

Всем доброго времени суток! Если кто знает как решаются эти задачи, помогите пожалуйста их сделать. Только сделать их нужно без использования процедур и функций.

Задача
В одномерном массиве, состоящем из n целых элементов вычислить:
1)номер максимального элемента массива;
2)произведение элементов массива, расположенных между первым и вторым нулевыми элементами
3)преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях.
Начинающий програм вне форума
Старый 05.02.2012, 22:59   #2
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

знаем. поможем.... по крайней мере алгоритмом
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума
Старый 05.02.2012, 23:07   #3
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

1. ввод массива
2. присваиваем переменной NМАХ номер первого элемента массива
3. прогоняем по массиву сравнивая значения элементов массива под номерами I и NMAX, при определенных условиях изменяя NMAX
4. Выводим

***

1. Ищем номер 1го и 2го нуля
2. Считаем произведение элементов между нулями

или

1. пока первый нуль не найден пропускаем, иначе (если нашли) считаем произведение до тех пор, пока не встретим нуль

***

1. создать еще 2 массива и если чет вписать в один, иначе в другой, а потом соответственно совместить с данным (знаю что тупо но работает)


***

будут задачи оптом - обращайся (недорого от 10 р с уч.комиссии на WM) =)
Если лень что-то делать, заставь это делать машину ... =,

Последний раз редактировалось Katus; 05.02.2012 в 23:12.
Katus вне форума
Старый 05.02.2012, 23:22   #4
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Спасибо за алгоритм, я щас попробую, но я не уверен что у меня это получится сделать.
Начинающий програм вне форума
Старый 05.02.2012, 23:28   #5
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

удачи. если что обращайся. пожем(помогу)))
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума
Старый 05.02.2012, 23:42   #6
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Можно как-то это решение подкорректировать чтобы получилась задача 2)произведение элементов массива, расположенных между первым и вторым нулевыми элементами

Код:
begin
     
       k:=1;
       m:=1;
       for i:=2 to n do
        if a[i]>a[k] then
          k:=i;
        if a[i]<min then
        begin
         min:=a[i];
         m:=i
        end;
      
       p:=1;
       if k<m then
        begin
         tmp:=k;
         k:=m;
         m:=tmp
        end;
       for i:=m+1 to k-1 do
       p:=p*a[i];
       if abs(k-m)>1 then
       writeln('p=',p);
      end;
Начинающий програм вне форума
Старый 07.02.2012, 08:47   #7
turok7770
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 17
По умолчанию

Ой я по ошибке на двумерный массив написал. Ну ты преподавателю покажи я думаю оценит. На одномерный все просто сам догадаешься
Если хотите отблагодарить меня - R526322326168

Единственное, что ограничивает полет мысли программиста-компилятор

Последний раз редактировалось turok7770; 07.02.2012 в 14:21.
turok7770 вне форума
Старый 07.02.2012, 14:04   #8
turok7770
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 17
По умолчанию

1 задача

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var
    mas:array[1..4,1..4] of integer;
    i,max,j,io,jo:Integer;

begin
  for i:=1 to 4 do
   for j:=1 to 4 do
    begin

      readln (mas[j,i]);
    end;

  for i:=1 to 4 do
   begin
     for j:=1 to 4 do
      begin
        write(mas[j,i]);
      end;
     Writeln;
   end;

  max:=Low(Integer);

  for i:=1 to 4 do
   for j:=1 to 4 do
    begin
      if mas[j,i] > Max then
       begin
         io:=i;
         jo:=j
       end;
    end;

  Writeln(i,'          ',j);
  Readln;

end.
Если хотите отблагодарить меня - R526322326168

Единственное, что ограничивает полет мысли программиста-компилятор
turok7770 вне форума
Старый 07.02.2012, 14:15   #9
turok7770
Пользователь
 
Регистрация: 12.01.2012
Сообщений: 17
По умолчанию

2 задача

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  var
    mas:array[1..4,1..4] of integer;
    i,j,g,otb,pr1:Integer;

begin
  for i:=1 to 4 do
   for j:=1 to 4 do
    begin

      readln (mas[j,i]);
    end;

  for i:=1 to 4 do
   begin
     for j:=1 to 4 do
      begin
        write(mas[j,i]);
      end;
     Writeln;
   end;

  g:=0;
  otb:=1;

  for i:=2 to 4 do
   for j:=2 to 4 do
    begin
      if (mas[j-1,i-1] = 0) and (mas[j+1,i+1] = 0) then
       begin
         pr1:=mas[j,i];
          g:=g+1;
           if g=1 then
            begin
              otb:=otb * pr1;
            end;
         g:=0;
       end;
    end;

  Writeln(otb);
  Readln;

end.
Если хотите отблагодарить меня - R526322326168

Единственное, что ограничивает полет мысли программиста-компилятор

Последний раз редактировалось turok7770; 07.02.2012 в 14:21.
turok7770 вне форума
Старый 09.02.2012, 19:54   #10
xDess
Новичок
Джуниор
 
Регистрация: 09.02.2012
Сообщений: 2
По умолчанию

Здравствуйте.
Мне надо написать такую прогу на одномерный массив: "Дан одномерный ряд на 15 элементов. Возвести в квадрат все компоненты, следующие за первой отрицательной компонентой."
Но у меня есть проблема: У меня выводятся в ListBox1 15 рандомных чисел, а в ListBox2 числа из ListBox1, но не все числа после первого отрицательного возводятся в квадрат а только отрицательные. Т.е. после отрицательного числа положительные числа остаются как есть, а отрицательные возводятся в квадрат.
Дайте плиз исходник
xDess вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив Delphi Начинающий програм Помощь студентам 6 15.12.2011 05:04
одномерный массив в delphi d3[Z.oRg] Помощь студентам 7 18.06.2011 15:04
одномерный массив delphi sofiya Помощь студентам 4 20.02.2011 13:47
одномерный массив в delphi viper92 Помощь студентам 5 14.12.2010 21:36
Одномерный массив (Delphi) Estel Помощь студентам 4 29.05.2010 11:55