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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 16:41   #1
Лиза_
 
Регистрация: 11.04.2011
Сообщений: 9
По умолчанию Задача в Pascal ABC

С клавиатуры вводится N целых чисел(N - натуральное число).
Распечатать первое отрицательное число. Если такое не найдено, выдать сообщение.
Помогите пожалуйста написать программу!
Лиза_ вне форума Ответить с цитированием
Старый 26.04.2012, 21:00   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
ReadLn (n);

for i := 1 to n do begin
        Read (t);
        if t < 0 then begin
               WriteLn (t);
               Halt;
        end;
end;

WriteLn ('Не найдено отрицательных чисел')

Последний раз редактировалось Poma][a; 26.04.2012 в 21:14.
Poma][a вне форума Ответить с цитированием
Старый 26.04.2012, 21:10   #3
Karpinsky
Подтвердите свой е-майл
 
Регистрация: 19.10.2011
Сообщений: 28
По умолчанию

В этом коде есть несоответствие заданию (хуже кода, который делает не то, что от него просят, быть ничего не может). N целых чисел могут и не быть введены с клавиатуры, а в условии ясно сказано:
Цитата:
С клавиатуры вводится N целых чисел
, а не "до первого отрицательного".
Karpinsky вне форума Ответить с цитированием
Старый 26.04.2012, 21:18   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Poma][a вне форума Ответить с цитированием
Старый 27.04.2012, 15:49   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Poma][a, Вы не правы.

у Вас N чисел НЕ ВВОДИТСЯ в программу.
то, что Вы заскриншотили, ни о чём не говорит.
напишите в строке 20 чисел.
и что нибудь изменится?!

а если после каждого вводимого числа наживать Enter (это же не запрещено, надеюсь )?!


я бы такой вариант предложил:
Код:
var 
   N. t, firstNeg : integer;
begin
  WriteLn('Введите количество чисел: ');
  ReadLn (n);

  firstNeg := 0;
  for i := 1 to n do begin
    Read (t);
    if (firstNeg=0) and (t<0) then firstNeg := t;
  end;

  if firstNeg=0 then
    WriteLn ('Не найдено отрицательных чисел')
  else 
    WriteLn ('Первое отрицательное число:', firstNeg);

end.

Последний раз редактировалось Serge_Bliznykov; 27.04.2012 в 16:14.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.04.2012, 19:26   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Парирование было специально для Karpinsky и не было рассчитанно что сюда заглянете Вы либо кто-то еще из батек форума...
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal abc задача Alina305 Помощь студентам 2 18.12.2011 22:09
задача Pascal ABC EvilCry Помощь студентам 2 26.10.2011 20:28
Задача на Pascal ABC 1 antony sky Паскаль, Turbo Pascal, PascalABC.NET 1 09.05.2011 10:54
Задача на Pascal ABC 2 antony sky Паскаль, Turbo Pascal, PascalABC.NET 1 09.05.2011 10:54