|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.12.2008, 18:28 | #1 |
Новичок
Джуниор
Регистрация: 26.12.2008
Сообщений: 1
|
Задача по стандартной матрице. Нужна помощь!
Здравствуйте. У меня тут задачка есть одна, вот ее условие:
"В заданной матрице найдите две строки с равными количествами нулевых элементов. Вычтите элементы строки с меньшим номером из соответствующих элементов всех строк". В общем то я ее решил и она даже работает. Вот ее код (пишу здесь впервые, поэтому буду надеяться, что код на форуме ввёл всё-таки правильно): Код:
p.s. Я взял матрицу 3х4 и составлял задачу для нее. Последний раз редактировалось Rav4; 26.12.2008 в 19:04. |
26.12.2008, 21:38 | #2 |
Форумчанин
Регистрация: 22.12.2008
Сообщений: 104
|
Попробуй вот так :
begin
clrscr; write(' Вводите матрицу построчно '); writeln; writeln; for i:=1 to 5 do begin for j:=1 to 5 do begin readln(mas[i,j]); end; end; for i:=1 to 5 do begin for j:=1 to 5 do begin write(mas[i,j],' '); end; writeln; end; for i1:=1 to 5 do begin for i2:=1 to 5 do begin if (i1<>i2) then begin kol1:=0; kol2:=0; for j:=1 to 5 do begin if mas[i1,j]=0 then inc(kol1); if mas[i2,j]=0 then inc(kol2); end; if (kol1=kol2) and (kol1<>0) then st:=max(i1,i2); end; end; end; writeln; for i:=1 to 5 do begin for j:=1 to 5 do begin if i<>st then mas[i,j]:=mas[i,j]-mas[st,j]; end; end; writeln; writeln(' Результат'); for i:=1 to 5 do begin for j:=1 to 5 do begin write(mas[i,j],' '); end; writeln; end; readln; end.
@(o_0)@
|
26.12.2008, 21:48 | #3 |
Форумчанин
Регистрация: 22.12.2008
Сообщений: 104
|
начало не пропечаталось)
uses crt;
var mas:array[1..5,1..5] of integer; i1,i2,i,j,st,kol1,kol2:integer; function max(x,y:integer):integer; begin if x<y then max:=x else max:=y; end; begin clrscr; write(' '); writeln; writeln; for i:=1 to 5 do begin for j:=1 to 5 do begin readln(mas[i,j]); end; end; for i:=1 to 5 do begin for j:=1 to 5 do begin write(mas[i,j],' '); end; writeln; end; for i1:=1 to 5 do begin for i2:=1 to 5 do begin if (i1<>i2) then begin kol1:=0; kol2:=0; for j:=1 to 5 do begin if mas[i1,j]=0 then inc(kol1); if mas[i2,j]=0 then inc(kol2); end; if (kol1=kol2) and (kol1<>0) then st:=max(i1,i2); end; end; end; writeln; for i:=1 to 5 do begin for j:=1 to 5 do begin if i<>st then mas[i,j]:=mas[i,j]-mas[st,j]; end; end; writeln; writeln(' Rezultat '); for i:=1 to 5 do begin for j:=1 to 5 do begin write(mas[i,j],' '); end; writeln; end; readln; end.
@(o_0)@
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь (задача с массивом)... | Goldberg | Паскаль, Turbo Pascal, PascalABC.NET | 36 | 19.04.2011 20:31 |
Задача Whlie do нужна помощь | shadowburn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 21.11.2008 19:06 |
[C] Задача на указатели . Нужна помощь | shtkuh | Помощь студентам | 1 | 26.01.2008 08:47 |
Задача с матрицей(нужна помощь) | VDK23RUS | Помощь студентам | 5 | 14.06.2007 12:55 |