Проблема с матрицей есть пример но он не работает

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by NTFF, 9 Dec 2009.

  1. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    в каждом столбце и каждой строке матрицы содержица строго по одному нулевому элементу. Перестановкой строк добиться расположение всех нулей по главной диагонали. В программе должна присутствовать проверка чтоб в строке был строго один ноль, в противном случае цикл не выполняться. матрица 5*5 пользователь сам ее вводит

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

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

    Code:
    
    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]);
    
     
    #1 NTFF, 9 Dec 2009
    Last edited by a moderator: 10 Dec 2009
  2. DeaD_MoroZ

    DeaD_MoroZ Banned

    Joined:
    3 Nov 2009
    Messages:
    102
    Likes Received:
    7
    Reputations:
    0
    вот очень простой код
    Code:
    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");
    
     
  3. NTFF

    NTFF New Member

    Joined:
    9 Dec 2009
    Messages:
    23
    Likes Received:
    0
    Reputations:
    0
    Ребята если вам не трудно напишите полностью код в процедурах.
     
  4. DeaD_MoroZ

    DeaD_MoroZ Banned

    Joined:
    3 Nov 2009
    Messages:
    102
    Likes Received:
    7
    Reputations:
    0
    Code:
    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, за на пиво напишу с радостью(; (я не жадный, но просто пусть человек сам учиться... всё познётся методом проб и ошибок...)