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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 14:09   #1
Sawok
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию Определение элемента в одномерном массиве

Всем привет. Надо в одномерном массиве определить значение и индекс наименьшего позитивного элемента, анализировать все элементы массива. И при выполнении надо использовать эту заготовку. Буду очень признателен за помощь.

Код:
 const   num=20;   {razmer massiva}
 var
    DATA : text;
    oper,         { vipolnjaemaja operacija}
                  { oper=3333 zakon4itj                }
    i,j :   integer;    {imdeksi }
    ms: array[1..num] of real;{Massiv, kotorij obrabativajut}
    x, dx :real;
    idet : integer; { indeksi dlja rezuljtatov }
    Maxv: real;           { rezultat         }
    label  MENU, SOLVE, BEIGAS;
 begin
       assign (DATA, 'Data.txt');
       rewrite(DATA);
 MENU:
    x:=0.27; dx:=0.345;
    writeln;
    writeln( 'Programma dlja osvoenija massivov');
    writeln( ' 3333 - zakon4itj');
    writeln( ' 1111 - generirovatj massiv s standartnimi dannimi');
    writeln( ' ljuboe drugoe chislo generirovatj drugimi dannimi);
    read( oper);
    if oper=3333 then goto BEIGAS;
    if oper=1111 then goto SOLVE;
    {zapolnenie massiva i rascheti}
    writeln( 'vvedi dva realjnix 4isla,oni opredeljat znachenija elementov massiva);
    read(x, dx);

SOLVE:
      writeln(DATA);  writeln(DATA);  writeln(DATA);  writeln(DATA);
      writeln(DATA, 'Poluchen massiv s zna4enijami x un dx');
      writeln(DATA,' x=', x:6:4,'     dx=',dx:6:4);
  for i:=1 to num do
      begin
      ms[i]:=10*sin(x);
      x:=x+dx;
      end;          writeln;
   for i:=1 to num do  {Vivod sgenerirovannogo massiva}
     begin
      write( '      "',i:2, '"', ms[i]:10:5)
     end;
      writeln(DATA);
     for i:=1 to num do  {Vivod sgenerirovannogo massiva v faile}
     begin
      write(DATA, '     "',i:2, '"', ms[i]:9:5);
      if (i mod 4=0) then   writeln(DATA);
     end;
     writeln;   writeln(' Chto bi prodolzhitj, vvedi chislo');
     read(j);
    goto MENU;
  BEIGAS:
    close (DATA);
    end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.10.2011 в 09:13.
Sawok вне форума Ответить с цитированием
Старый 28.10.2011, 15:45   #2
Sawok
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию

Код:
MinV:=ms[1]; idet:=1;
   for i:=1 to num do
       if ((ms[i]< Minv)and (ms[i]>0))  then
         begin

           MinV:= ms[i];
           idet:=i;
         end;
   writeln(' Minimala masiva elementa vertiba ir :', MinV:10:5);
   writeln(' Minimala elementa indeks ir :', idet:5);
    goto MENU;
  BEIGAS:
end.
Попробовал так, но выдает иногда правильно, иногда и отрицательные значения. Подправьте пожалуйста код.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.10.2011 в 09:13.
Sawok вне форума Ответить с цитированием
Старый 29.10.2011, 01:28   #3
Sawok
 
Регистрация: 28.10.2011
Сообщений: 4
По умолчанию

Кто знает, подскажите, в чем ошибка.
Sawok вне форума Ответить с цитированием
Старый 29.10.2011, 06:03   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Вот как-то так примерно:
Код:
imin:= 0;
for i:=1 to num do
  if (ms[i]>0) and ((imin<0) or (ms[i]<ms[imin])) then imin:= i;
if imin=0 then writeln('no positive elements in the array')
else writeln('minimum of positive elements is at index ',imin);
Слушай, Sawok, а вам не говорили, что метки использовать нельзя? Пойди в Опции и сними галочку с "можно использовать goto". Это ускорит твое обучение.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программу нахождения экстремального элемента или его порядкового номера при заданном одномерном массиве А (Паскаль) S_S_V_N Помощь студентам 1 16.10.2011 21:54
пв одномерном массиве... Avvakymova Паскаль, Turbo Pascal, PascalABC.NET 4 13.05.2011 19:53
В одномерном массиве , состоящем из n целочисленных элементов, вычислить номер максимального элемента мас Ufa Помощь студентам 1 21.04.2010 14:06
Вставка элемента в одномерном массиве(код некорректен)) Эльмирочка Общие вопросы .NET 2 30.03.2010 17:41
Поиск в одномерном массиве Joxter Помощь студентам 6 13.12.2008 14:19