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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 19:15   #1
RealUnited
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 3
Сообщение Найти количество элементов стоящих после максимального по значению элемента

Дан Вектор X(10). Найти количество элементов стоящих после максимального по значению элемента
RealUnited вне форума Ответить с цитированием
Старый 05.12.2012, 19:37   #2
domovou
Пользователь
 
Аватар для domovou
 
Регистрация: 01.09.2012
Сообщений: 88
По умолчанию

Код:
var a:array [1..10] of integer;
    max,i,k:integer;
Begin
max:=-30000;
For i:= 1 to 10 do
    begin
    a[i]:=random(101)-50;
    write(a[i]:4);
    if a[i]>max then
       begin
       max:=a[i];
       k:=10-i;
       end;
    end;
writeln;
if k=0 then writeln('Posle max net elementov on posled')
   else
   Writeln('Max = ',max,' Kol-vo elemen posle max = ',k);
readln;
end.
Программист - это не тот, кто пишет программы, а тот, чьи программы работают.
domovou вне форума Ответить с цитированием
Старый 05.12.2012, 19:51   #3
RealUnited
Новичок
Джуниор
 
Регистрация: 05.12.2012
Сообщений: 3
По умолчанию

спасибо огромное)
RealUnited вне форума Ответить с цитированием
Старый 05.12.2012, 20:07   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Код:
max:=-30000;
очень плохо... Работать, оно, конечно, будет, т.к. числа в данном массиве будут от -50 до 50..
Но такая иницилизация уж очень не некрасивая, необоснованная и не надёжная.

да и вообще, нас же интересует позиция максимального числа в массиве.
поэтому я бы так записал:
Код:
const n = 10;
var a:array [1..n] of integer;
    i,kMax:integer;
Begin
  kMax := 1;
  For i:= 1 to n do begin
    a[i]:=random(101)-50;
      if a[i]>a[kMax] then kMax:=i;
  end;

  if kMax=n then writeln('Posle max net elementov on posled')
  else
   Writeln('Max = ',a[kMax],' Kol-vo elemen posle max = ',n-k);

  Readln;
end.
и всё. и код проще, и переменных меньше.
И никаких "магических" констант равных -30000 не понадобилось...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти среднее значение элементов и номер элемента массива, ближайшего к среднему по значению Romashka) Общие вопросы C/C++ 1 06.11.2012 18:55
Найти НОД максимального элемента массива и количество элементов. Zzoyberg Помощь студентам 0 28.12.2011 03:11
Найти НОД максимального элемента массива и количество элементов. Zzoyberg Паскаль, Turbo Pascal, PascalABC.NET 1 07.12.2011 16:27
В матрице в каждой строке найти сумму N Элементов расположенных после максимального элемента этой строки lexflax Паскаль, Turbo Pascal, PascalABC.NET 0 20.04.2011 14:41
Для массива определить сумму всех элементов, стоящих после максимального HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 4 17.06.2009 22:04