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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> Помогите понять код программы.
bmwmylovely
сообщение 14.03.2013 16:16
Сообщение #1





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

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


Данн прямоугольный массив 10х20 напишите программу поиска стороки с найменьшей суммой элементов, вывести на зкран номер строки и сумму её элементов.

{Часть 1}
var i,x,j,min,s, imin:integer;
A:array [0..10,0..20] of integer;
begin
for i:=1 to 10 do
for j:=1 to 20 do
A[i,j]:=random(10)+11;

for i:=1 to 10 do
for j:=1 to 20 do
write(A[i,j]:2,' ;');
{Часть 2}
imin:=1;
for j:=1 to 20 do
min:=min+A[1,j];

for i:=2 to 10 do
begin
for j:=1 to 20 do
s:=s+A[i,j];
if s < min then
begin
min:=s;
imin:=i;
end;
s:=0;
end;
writeln(' min, ' ',imin);

end.


Не могу понять вторую часть, а конкретно:

Код
imin:=1;
for j:=1 to 20 do
min:=min+A[1,j];

for i:=2 to 10 do
begin
    for j:=1 to 20 do
        s:=s+A[i,j];
    if s < min then


... может кто ни будь очень подробно объяснить, буду очень благодарен.

Сообщение отредактировано: APAL - 4.06.2013 9:16
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 19.03.2013 9:35
Сообщение #2


Гость






imin:=1; // считаем, что минимальная сумма будет в первой строке (надо же с чего-то начинать)
for j:=1 to 20 do
min:=min+A[1,j]; // считаем эту сумму в первой строке

for i:=2 to 10 do // смотрим остальные строки со 2-й по 10-ю
begin
for j:=1 to 20 do
s:=s+A[i,j]; // считаем сумму в очередной строке
if s < min then // если она меньше той, которую мы считали минимальной ранее
begin
min:=s; // принимаем ее за минимальную
imin:=i; // запоминаем, в какой строке она была
end;
s:=0; // сбрасываем сумму (надо бы перед циклом ее поставить, а не после)
end;
writeln(' min, ' ',imin); // выводим мин.сумму и номер строки, в которой она получается
// ^ первая кавычка тут лишняя

 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 2.11.2024 23:16
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"