IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> задачка с массивами
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Пожжжалуйста!!! Помогите! Задачка не сложная, просто я не совсем хорошо разбираюсь.
Пусть в массиве содержатся результаты измерений температуры воздуха, которые проводились ежедневно в течение декабря месяца. Определить:
- сколько дней в декабре температура была выше средней;
- день, когда температуа была ближе всего к средней температуре в декабре;
- минимальную температуру тех дней декабря, которые следуют после последнего из самых теплых дней в этом месяце.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Так никто и не поможет? Ну хоть что думаете, подскажите как определить среднюю температуру?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Ну хоть что думаете, подскажите как определить среднюю температуру?

Складываешь все элементы массива и делишь на их количество, то бишь на количество дней))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 6.06.2007 21:38) *

Складываешь все элементы массива и делишь на их количество, то бишь на количество дней))

и на этом спасибо, только как в паскаль засунуть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вроде так:
var sr: real;
t: array[1..31] of real;
...
for i:=1 to 31 do
begin
sr:=sr+t[i]/31;
end;
...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Спасибо огромное!!! Попробую. Буду думать. Но если кто поможет в решении указанных задач, буду безмерно благодарна.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Давай разложим по пунктам:
1. Ты находишь среднюю температуру, как это сделать, ты уже знаешь.
2. Чтобы узнать количество более теплых дней, чем среднее, ты пробегаешь по всему массиву. Если температура больше (t[i]>sr) значит увеличиваешь количество дней (inc(kol), изначально kol:=0).
3. Наиболее близкий по температуре к среднему день я предлагаю искать так: опять идем по массиву, отнимаем от элемента среднее, вычисляем абсолютное значение полученного числа (модуль, стандартная функция abs(razn), razn: real), присваиваем ее min (минимальная разница), а значение i становится номером-nom. Дальше делаем тоже самое, но если модуль новой разницы меньше min, то присваиваем min значение нового модуля (if abs(razn)<min then min:=abs(razn)); nom:=i;). Когда пройдем по всему массиву у нас останется самая маленькая разница и номер такого дня.
4. еще не знаю как сделать wink.gif, если смотреть просто после самого теплого дня, то понятно, но это не совсем по заданию.
В общем, вот мои мысли по решению этой задачи, немного путанно, но попробуй, думаю у тебя получится smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


4. В процессе поиска среднего параллельно ищем максимум. Запоминаем его.
Потом идем с конца массива, пока не найдем первый самый теплый день. Запоминаем индекс.
Теперь идем от этого индекса до конца и ищем минимум


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


А последний самый теплый день, это же будет максимум или последний день теплее среднего? я все никак не пойму wink.gif

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 7.06.2007 8:12) *

А последний самый теплый день, это же будет максимум или последний день теплее среднего? я все никак не пойму wink.gif

Я понимаю что надо найти самый теплый день, а потом из последующих 3-5 дней найти минимальную температуру. Может я заблуждаюсь...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


я так понимаю, что последний день с температурой равной максимуму.
ну как-то так:
1 7 1 8 13 19 3 19 2 1 7 19 3 4 2


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
я так понимаю, что последний день с температурой равной максимуму.

Или немного меньшей чем максимум, например на 1-2 градуса:
1 7 1 8 13 19 3 19 2 18 1 7 3 4 2
Но так мороки больше... наверно, твой вариант правильнее.
фатальность, а нельзя ли это как-то уточнить у того, кто дал задание?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Задание из книги. С афтором думаю сложно будет связаться)) А препод молчит как партизан.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
- минимальную температуру тех дней декабря, которые следуют после последнего из самых теплых дней в этом месяце.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


А можно еще вопрос? Вот мне необходимо найти минимальную температуру второй декады декабря. Минимальную температуру нашла без проблем, а как указать что второй декады?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Ну декада, насколько я помню, это 10 суток. Сколько дней в декабре нам известно, значит цикл поиска минимума, наверно, должен быть таким: for i:=11 to 20 do.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 7.06.2007 16:04) *

Ну декада, насколько я помню, это 10 суток. Сколько дней в декабре нам известно, значит цикл поиска минимума, наверно, должен быть таким: for i:=11 to 20 do.

точно, спасибо!!!
Вот только у меня ничего не получается с последним заданием(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вот программка, которая это делает:
uses wincrt;
var t: array[1..31] of real;
max,min: real;
i,j: integer;
begin
randomize;
max:=0;
min:=1000;
for i:=1 to 31 do
begin
t[i]:=(random(21))/2;
write('',t[i]:6:2,' ');
if t[i]>=max then
begin
max:=t[i];
j:=i;
end;
end;
writeln;
for i:=j to 31 do
if t[i]<min then min:=t[i];
writeln('минимальная температура после самого теплого дня равна: ',min:6:2,'');
end.

Что непонятно, спрашивай, объясню smile.gif

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Айра,массив сделай real.


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
массив сделай real.

Он real, я сразу сама исправила, ты не заметил smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 5:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name