Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Проблема с матрицей есть пример но он не работает (https://forum.antichat.xyz/showthread.php?t=162275)

NTFF 09.12.2009 22:05

Проблема с матрицей есть пример но он не работает
 
в каждом столбце и каждой строке матрицы содержица строго по одному нулевому элементу. Перестановкой строк добиться расположение всех нулей по главной диагонали. В программе должна присутствовать проверка чтоб в строке был строго один ноль, в противном случае цикл не выполняться. матрица 5*5 пользователь сам ее вводит

написать нужно в форме процедур

есть то что питался сделать но что там не так не знаю

Код:


BEGIN
clrscr;
write('Vvedite matrix A: ');
for i:=1 to 5 do
for j:=1 to 5 do
read (A [i,j]);

for i:=1 to 5 do
for etap:=1 to 5 do
if (A[i,etap]=0)
then findrow:=i;
for j:=1 to 5 do
begin
c:=(A[etap,j]);
A[etap,j]:=A[findrow,j];
A[findrow,j]:=c;
write (A[findrow,j]);


DeaD_MoroZ 10.12.2009 05:28

вот очень простой код
Код:

for i:=1 to 5 do begin
for j:=1 to 5 fo begin
if a[i,j]=0 then
inc(k);
end; end;
if k=5 then
переставляешь(надеюсь это ты сможешь)
else
writeln('not all lines of an element of 0");


NTFF 10.12.2009 09:30

Ребята если вам не трудно напишите полностью код в процедурах.

DeaD_MoroZ 10.12.2009 13:54

Код:

program blablabla;
uses crt;
var k,n,i,j:byte;
    a:array[1..5,1..5] of integer;
    prov:boolean;
procedure proverka_zero;
begin
for i:=1 to 5 do begin
for j:=1 to 5 do begin
if a[i,j]=0 then
inc(k);
end; end;
if k=5 then prov:=true
else
prov:=false;
end;
procedure vvod;
begin
clrscr;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
gotoxy(j*5,i*3);
readln(a[i,j]);
end; end; end;
begin
clrscr;
vvod;
proverka_zero;
if prov then
{делаешь перестановку, всё полностью мне лень за тебя писать, т.к. ты всё таки пошёл учиться...}
else
writeln('not all lines of an element of 0');

end.

оффтоп:смотри комент, если всё таки не сможешь сам написать-вот моя ася 597680843, за на пиво напишу с радостью(; (я не жадный, но просто пусть человек сам учиться... всё познётся методом проб и ошибок...)


Время: 17:23