IPB

Здравствуйте, гость ( Вход | Регистрация )

> Pascal, Заморозки, Найти период времени на прот. которого были заморозки
pupil
сообщение 16.11.2008, 6:23
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 6
Регистрация: 16.11.2008
Город: Казахстан



Входной файл cool.in
Выходной файл cool.out

Имеются минимальные суточные температуры за N дней (1<=N<=10000). Определить продолжительность периода в течении которого ежедневно были заморозки.

Входные данные
В первый строке записано число N - кол. дней. Во второй - минимальные суточные температуры, разделенные пробелами.

Выходные данные
Число - длинна наибольшего периода на протяжении которого были заморозки

Пример
Cool.in
10
4 -5 -4 -2 -10 0 1 -2 -1 1

Cool.out
4
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
creer
сообщение 16.11.2008, 9:25
Сообщение #2


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Проходим по массиву. В момент перехода с "+" на "-" начинаем считать количество элементов, при переходе с "-" на "+" сравниваем с предыдущим таким значением. Не забыть про края только. Ничего принципиально сложного (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
pupil
сообщение 17.11.2008, 14:36
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 6
Регистрация: 16.11.2008
Город: Казахстан



написал для нахождения общего кол-ва отрицательных элементов, не работает, что не так?
как сделать чтобы находил не сумму всех, а только тех которые идут один за другим.
вот код:
Код
Program zamorozki;
Type day = 1..10000;
var n: day;
    d: array [-10000..10000] of integer;
    x,i: integer;
    f,f1: text;
begin
     assign(f,'cool.in'); reset(f);
     assign(f1,'cool.out'); rewrite(f1);
     read(f,n);
     for i:=1 to n do
     begin
     readln(f,d[i]);
     end;
     x:=0;
     for i:=1 to n do
     if d[i]<=0 then x:=x+1;
     writeln(f1,x);
     close(f);
     close(f1);
end.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 26.5.2025, 2:45

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru