jenek-f
?>

Вывести на экран чётные столбцы массива 3×5. Двумерный массив

Информатика

Ответы

Anastasiya

Program Zadachcka;

Const n=5; m=3;

Var A : array [1..n, 1..m] of integer;

i, j, s : integer;

begin

Randomize;

For i:=1 to n do

begin

For j:=1 to m do A[i,j]:=random(100);

end;

Writeln('Array A:');

For i:=1 to n do

begin

For j:=1 to m do Write(A[i,j]:4);

Writeln;

end;

s:=0;

For i:=1 to n do

begin

For j:=1 to m do

begin

If ((A[i,j] mod 2) = 0) then s:=s+i+j;

end;

end;

Writeln('S=',s);

Readln;

end.

krispel9
Можно воспользоваться вариантом Vladmor, он более легкий и подходит под эту задачу, но чтобы не повторяться, для разнообразности, предложу свой вариант.

1+3+5+7 это ничто иное как арифметическая прогрессия.
Есть несколько формул суммы членов прогрессии, но под этот тип задачи подойдёт такая: S_{n} =\frac{2a_{1}+d(n-1)}{2} * n

a_{1} - это член последовательности с индексом 1, то есть первое число в ряду.
d - это разность между двумя соседними членами, из большего вычитаем меньшее

n - это сколько всего членов

и так, у нас получается
a_{1} = 1 (в условии задачи сказано что первый подарок весит 1кг)
d = 2 (в условии сказано что следующий подарок увеличивается на 2, ничто иное как разность)
n = это переменная, она нам не известна, поэтому так и оставим.
S_{n} - это сумма веса всех подарков, в примере используется слово "weight" что в переводе "вес", поэтому подставим это слово.

И теперь подставим что у нас имеется.
weight = \frac{2*1+2(n-1)}{2} * n
weight =\frac{2+2(n-1)}{2} * n

В коде программу будет записано так
weight = ( ( 2+2*(n-1) ) / 2)*n

Проверим, например у нас 5 детей, значит надо 5 подарков, это
1+3+5+7+9 = 25
Проверим формулу
weight = ( ( 2+2*(5-1) ) / 2)*5
weight = ( ( 2+2*4 ) / 2)*5
weight = ( ( 2+8 ) / 2)*5
weight = ( 10 / 2)*5
weight = 5*5
weight = 25
Всё сходится.

Расписал подробно, чтобы всё было понятно
Так же этот вариант подойдёт для других таких типовых задач, а вариант Vladmor подойдёт только в некоторых случаях, будь внимателен(на)
Кожуховский398
Можно воспользоваться вариантом Vladmor, он более легкий и подходит под эту задачу, но чтобы не повторяться, для разнообразности, предложу свой вариант.

1+3+5+7 это ничто иное как арифметическая прогрессия.
Есть несколько формул суммы членов прогрессии, но под этот тип задачи подойдёт такая: S_{n} =\frac{2a_{1}+d(n-1)}{2} * n

a_{1} - это член последовательности с индексом 1, то есть первое число в ряду.
d - это разность между двумя соседними членами, из большего вычитаем меньшее

n - это сколько всего членов

и так, у нас получается
a_{1} = 1 (в условии задачи сказано что первый подарок весит 1кг)
d = 2 (в условии сказано что следующий подарок увеличивается на 2, ничто иное как разность)
n = это переменная, она нам не известна, поэтому так и оставим.
S_{n} - это сумма веса всех подарков, в примере используется слово "weight" что в переводе "вес", поэтому подставим это слово.

И теперь подставим что у нас имеется.
weight = \frac{2*1+2(n-1)}{2} * n
weight =\frac{2+2(n-1)}{2} * n

В коде программу будет записано так
weight = ( ( 2+2*(n-1) ) / 2)*n

Проверим, например у нас 5 детей, значит надо 5 подарков, это
1+3+5+7+9 = 25
Проверим формулу
weight = ( ( 2+2*(5-1) ) / 2)*5
weight = ( ( 2+2*4 ) / 2)*5
weight = ( ( 2+8 ) / 2)*5
weight = ( 10 / 2)*5
weight = 5*5
weight = 25
Всё сходится.

Расписал подробно, чтобы всё было понятно
Так же этот вариант подойдёт для других таких типовых задач, а вариант Vladmor подойдёт только в некоторых случаях, будь внимателен(на)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вывести на экран чётные столбцы массива 3×5. Двумерный массив
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Yelizaveta555
НиколаевнаФ
Валерьевич Николаевич1364
VASILEVNA
art-03857
cvetyzelen283
IrinaSolodukhina1495
axo4937
julianikaleksandrova
Sergei_Olga658
Seid-ZadeNadezhda1769
tanyatanyat
lidiya08083268
mmihail146
Жуков219