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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2012, 23:26   #1
Элиза12345
 
Регистрация: 12.11.2012
Сообщений: 4
По умолчанию одномерный массив размера n. Найти максимальный элемент массива среди элементов массива,после первого отрицательного (Паскаль)

Дан одномерный массив,содержащий n значений.Найти максимальный элемент массива среди элементов массива,после первого отрицательного.
Помогите с решением,сижу не понимаю(

______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.11.2012 в 23:53.
Элиза12345 вне форума Ответить с цитированием
Старый 12.11.2012, 23:36   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
сижу не понимаю(
Конкретней пожалуйста. Что Вы не понимаете? Покажите хоть что-то что Вы сделали. Даже полностью не правильное решение...
Poma][a вне форума Ответить с цитированием
Старый 12.11.2012, 23:38   #3
Элиза12345
 
Регистрация: 12.11.2012
Сообщений: 4
По умолчанию

Код:
program maximum;
var 
n,i,max:integer;
a:array[1..50] of integer;
begin
writeln('Vvod kolicestva elementov:');
readln(n);
for i:=1 to n do
max:=a[1];
for i:=2 to n do
 if (a[i]>max) then
  max:= a[ i ];
         writeln('max = ',max);
         end;
         end.

Последний раз редактировалось Stilet; 13.11.2012 в 00:59.
Элиза12345 вне форума Ответить с цитированием
Старый 12.11.2012, 23:49   #4
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Элиза12345 Посмотреть сообщение
Код:
program maximum;
var 
n,i,max:integer;
a:array[1..50] of integer;
begin
writeln('Vvod kolicestva elementov:');
readln(n);
for i:=1 to n do
max:=a[1];
for i:=2 to n do
 if (a[i]>max) then
  max:= a[ i ];
         writeln('max = ',max);
         end;
         end.
Ну почти правильно.
Код:
program maximum;
var 
n,i,max:integer;
a:array[1..50] of integer;
begin
writeln('Vvod kolicestva elementov:');
readln(n);
Randomize;
for i:=1 to n do
m[i]:=random(100)-50;
i:=1;
while a[i]>=0 do
  i:=i+1;
i:=i+1;
max:=a[i];
i:=i+1;
while i<=n do
 if (a[i]>max) then
  max:= a[ i ];
         writeln('max = ',max);
         end;
         end.
Не проверял. Да и вообще не самый лучший вариант, возможны выходы за границы массива. Но писать красиво и с нуля не хочу.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 13.11.2012, 07:15   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ладно, раз пытались, то и помочь не грех...

Код:
var
    a : array [1..1000] of Integer;
    n, i, max : Integer;

begin
    ReadLn (n);

    for i := 1 to n do
         Read (a[i]);

    i := 1;
    while a[i] >= 0 do
        Inc (i);

    max := a[i];

    for i := i+1 to n do
         if a[i] > max then
             max := a[i];

    WriteLn (max)
end.
Не проверял

Уважаемый Пофиг
Код:
i:=i+1;
max:=a[i];
i:=i+1;
Вам не кажется это эм... слегка смешным? Кстати у Вас есть обращение к массиву m, но нет самого массива m. И напоследок, последний цикл будет крутиться вечно...

Последний раз редактировалось Poma][a; 13.11.2012 в 07:19.
Poma][a вне форума Ответить с цитированием
Старый 13.11.2012, 08:35   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

2Poma][a, небольшая корректировочка
Код:
while (a[i] >= 0) and (i<=n) do{чтобы не вылететь за границы массива}
        Inc (i);
if i>=n then writeln('HeT MakcuMyMa')
else begin
max := a[i+1]; // так как отрицательный-то сам нам не нужен как бы
inc(i,2);
for j := i to n do // ну не буит паскаль компилировать(for i := i+1 to n do)
         if a[j] > max then
             max := a[j];
WriteLn (max)
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 13.11.2012, 16:00   #7
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от 'Poma
Уважаемый Пофиг...
Цитата:
Сообщение от whatever Посмотреть сообщение
Не проверял. Да и вообще не самый лучший вариант, возможны выходы за границы массива. Но писать красиво и с нуля не хочу.
По поводу бесконечного цикла - да, проглядел.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 13.11.2012, 16:03   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

MadCat, ага согласен, кроме
Цитата:
// ну не буит паскаль компилировать(for i := i+1 to n do)
whatever, я просто сообщил об ошибках увиденных мною Как это сделал MadCat за что ему огромное спасибо)

Последний раз редактировалось Poma][a; 13.11.2012 в 16:07.
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив. Найти минимальный элемент массива среди положительных чисел NataliaKovaleova Паскаль, Turbo Pascal, PascalABC.NET 1 04.10.2012 14:28
массиве X(N) найти максимальный элемент среди положительных элементов массива и минимальный среди отрицательных элементов. sorok Общие вопросы C/C++ 2 20.03.2012 12:18
Найти сумму модулей элемента массива, расположенных после первого отрицательного ? МоЗгАвеД Общие вопросы C/C++ 0 12.12.2011 17:36
найти максимальный элемент массива среди отрицательных чисел Gluck231 Паскаль, Turbo Pascal, PascalABC.NET 8 25.10.2011 00:11
одномерные массивы(C++) - Найти максимальный положительный элемент и вычислить сумму элементов массива Scarletred Помощь студентам 2 03.04.2010 03:08