Консультация № 144798
23.09.2008, 20:12
0.00 руб.
0 3 2
Здраствуйте,уважаемые эксперты помогите решить задачки на одномерные массивы!Буду очень благодарна!:)
№1 Известны данные о количестве осадков,выпавших за каждый день февраля.Верно ли,что по четным числам выпало больше осадков,чем по нечетным?
№2 Известно число жителей,проживающих в каждом доме улицы.Нумерация домов проведена подряд.Дома с четными номерами расположены на одной стороне улицы,с нечетными на другой.На какой стороне улицы проживает больше жителей?
Если можно,напишите их с объяснениями,а то я их толком не пониманию.

Обсуждение

давно
Старший Модератор
31795
6196
23.09.2008, 20:31
общий
это ответ
Здравствуйте, Evela!

Задачи почти одинаковые, поэтому привожу только первую.
Попробуйте сделать вторую по аналогии.
Если не получится, обращайтесь в мини-форум.
Удачи!

Приложение:
const
n=28;{количество дней}
var
c: packed array[1..n]of integer;
i,a,b:integer;
begin
{вводим данные}
for i:=1 to n do
begin
write('day ',i:2,':=');
readln(c[i]);
end;
a:=0;{сумма осадков по нечетным дням}
b:=0;{сумма осадков по четным дням}
{все делаем в цикле}
for i:=1 to n do
if odd(i)
then a:=a+c[i]
else b:=b+c[i];
{выводим результат}
write(a<b);
readln;
end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
23.09.2008, 20:39
общий
Фактически это одна задача.
Код:

program e1;
const
n=29; {кол-во домов (кол-во дней в месяце)}
var a: array [1..n] of integer; { задаем одномерный масив }
i,s1,s2: integer; { i - счетчик, s1 и s2 - сумма кол-ва жильцов (осадков)} живущих на улице с нечетными номерами домов и на улицах с четными}
begin
randomize; {это используется для задания кол-ва жильцов в каждом доме}
for i:=1 to n do
begin
a[i]:=random(10); {записываем в массив значение функции random}
if (i mod 2)>0 then {если значение счетчика нечетно, то }
s1:=s1+a[i] {увеличиваем s1 на значение записанного в массивe}
else {иначе}
s2:=s2+a[i] {увеличиваем s2 на значение записанного в массивe}
end;
writeln(s2,' ',s1,' ', s2>s1); {Выводим значение s2, s1 и слово TRUE, если S2>S1 или слово FALSE, если S2<s1. Можно использовать оператор IF:
if s2>s1 then
writlen ('На улице с четными номерами домов живет больше людей')
else
writlen ('На улице с нечетными номерами домов живет больше людей')
}
readln;
end.
Неизвестный
23.09.2008, 20:52
общий
это ответ
Здравствуйте, Evela!
№1
Код:
const
{Кол-во дней в месяце}
N=28;

Var
{Данные об осадках}
A: array [1..N] of integer;
{SumC-сумма осадков по четным числам, SumN-нечетные, i- для цикла}
SumC, SumN, i: integer;

begin
{Обнуляем суммы}
sumC:=0;
SumN:=0;
{Включаем генератор случайных чисел}
randomize;
{Заполняем весь массив случайными числами от 1 до 99}
for i:=1 to N do
begin
A[i]:=random(100);
Write(A[i], ' ');
{Если число четное, то прибавляем к SumC иначе к SumN}
if Odd(i) then
SumN:=SumN + a[i]
else
SumC:=SumC + a[i];
end;
{Проверяем условие}
if SumC > SumN then
WriteLn('Верно')
else
WriteLn('Неверно');
readln;
end.


Работать с массивами очень просто. Чтобы создать массив в разделе Var добавьте следующие строчки:
Код:

var
Arr: array [1..100] of integer;

Здесь мы объявили массив Arr длиной 100 элементов. Элементы в нашем массиве нумеруются с 1 до 100, их тип Integer. Почти так же можно создать массив строк:
Код:

var
StrArr: array [1..5] of string;

Здесь мы создали массив из 5 строк. Можно создать массив в котором элементы нумеруются с -100 до 52:
Код:

var
Arr: array [-100..52] of integer;

Массивы можно создавать любых типов, тип указывается после ключевого слова of.
Обращаться к элементам массива тоже очень просто:
Код:

var
//Создали массив типа integer
Arr: array [-10..10] of integer;
begin
//Элементу с индексом -10 присвоили 100
Arr[-10]:=100;
//Вывели -10 элемент
WriteLn(Arr[-10]);
//5 элементу присвоили разность 400 и -10 элемента массива
Arr[5]:=400 - Arr[-10];
end.


Вернемся к нашей задачи. Сначала мы создаем массив из 28 элементов с типом integer. Объявляем переменные для хранения сумм осадков. Потом заполняем массив случайными числами с помощью функции random. Четность проверяем с помощью функции Odd. Она возвращает true если число нечетное, иначе false.

Удачи!!!
Форма ответа