Страница 2 из 6
Re: Задача по Turbo Pascal
Добавлено: 14 ноя 2007, 11:16
Хыиуду
Тогда, чувствую, ошибка где-то в логике. Можно переделать: найти строку с минимальным количеством ненулевых элементов - это то же самое, что найти строку с максимумом нулей
Код: Выделить всё
max_zero:=0;
for i:= 1 to mi do begin
zero:=0;
for j:= 1 to mj do if a[i,j]=0 then inc(zero);
if zero>ax_zero then begin
max:=i;
max_zero:=zero;
end;
end;
Writeln('Minimalno nenulevih elementov v stroke №',max);
Re: Задача по Turbo Pascal
Добавлено: 15 ноя 2007, 20:46
assis2007
Всё заработало огромное спасибо ввёл тесты и всё что нужно получилось
Re: Задача по Turbo Pascal
Добавлено: 15 ноя 2007, 22:02
assis2007
Собственно ещё есть маленький вопросик. Прога вычисляет наибольший общий делитель двух целых чисел.
var
n1,n2:integer;
nod:integer;
r:integer;
begin
writeln('вычисление наибольшего общего делителя двух целых чисел');
writeln('введите в одной строке два числа');
readln(n1,n2);
while (n1 mod n2)<>0 do
begin
r:=n1 mod n2;
n1:=n2;
n2:=r;
end;
nod:=n2;
writeln;
readln;
end.
Мне нужно написать её через цикл repeat. Они взаимозаменяемы но у меня не получается
Re: Задача по Turbo Pascal
Добавлено: 15 ноя 2007, 22:50
Serge_Bliznykov
вот уж проще некуда... вместо
поставьте
только учтите, что в этом случае тело выполниться хотя бы одина раз!! ВСЕГДА!
поэтому, возможно, прийдётся добавить проверку перед циклом:
Код: Выделить всё
if (n1 mod n2)<>0 then
repeat
...
until (n1 mod n2)=0;
p.s. извините, но в текст сайо программы не вчитывался..
Re: Задача по Turbo Pascal
Добавлено: 16 ноя 2007, 13:44
Хыиуду
А можно узнать, зачем в конце программы
writeln;
readln;
если все равно в консоль по ходу работы ничего не выводится?
Re: Задача по Turbo Pascal
Добавлено: 18 ноя 2007, 18:35
assis2007
Я просто не стал переписывать длинную строчку на русском
Re: Задача по Turbo Pascal
Добавлено: 18 ноя 2007, 18:41
assis2007
Serge_Bliznykov, пишет ошибку когда уже скомпилирована и ввожу два числа. Дословно error 200:division by zero
Re: Задача по Turbo Pascal
Добавлено: 19 ноя 2007, 15:32
Хыиуду
Есть мнение, что первое число должно быть больше второго. Если я правильно помню алгоритм Евклида
Re: Задача по Turbo Pascal
Добавлено: 21 ноя 2007, 21:51
assis2007
Извиняюсь за нубство но что такое inc(zero) где не смотрю такого нету и никто не знает а мне ведь надо объяснить что это преподу
Re: Задача по Turbo Pascal
Добавлено: 22 ноя 2007, 15:14
Хыиуду
Поставить курсор на непонятное слово и нажать Ctrl+F1;
inc(zero) <=> zero:=zero+1;
inc(zero, N) <=> zero:=zero+N;