Другие языки программирования и технологии
помогите доработать программу в паскале пожалуууйста
Дана вещественная матрица A{n,m) где n<10 m<10. разработайте программу, которая удаляет все четные строки. выведите на экран исходную матрицу и матрицу результат. программа работает, но матрицу результатт выдает строчку через пустую строчку. как сделать чтобы выдавало без пустых строчек?? если не понятно объяснил запустите программу сразу станет ясно , что я имел ввиду. program chetnie_str; {$APPTYPE CONSOLE} uses SysUtils; var i,j,m,n:integer; a:array[1..10,1..10] of integer; begin writeln('vvedite n'); readln(n); writeln('vvedite m'); readln(m); randomize; for i:=1 to n do begin for j := 1 to m do begin a[i,j]:=random(41); write(a[i,j]:4); end; writeln; end; writeln; writeln; for i:= 1 to n do begin for j := 1 to m do begin if (i mod 2=1) then begin write(a[i,j]:4); end end; writeln; end; readln; { TODO -oUser -cConsole Main : Insert code here } end.
В конце программы вместо
for i:= 1 to n do
begin
for j := 1 to m do
begin
if (i mod 2=1) then
begin
write(a[i,j]:4);
end
end;
writeln;
end;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
напишите:
for i:= 1 to n do
if odd(i) then {или if i mod 2 <> 0 then}
begin
for j := 1 to m do
write(a[ i, j ]:4);
writeln;
end;
readln
end.
и не будет выводить пустые строки вместо удалённых чётных.
И uses SysUtils; можете удалить - в вашей программе этот модуль не используется.
P.S. В задании написано вещественная матрица, а в программе - целые числа.
for i:= 1 to n do
begin
for j := 1 to m do
begin
if (i mod 2=1) then
begin
write(a[i,j]:4);
end
end;
writeln;
end;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
напишите:
for i:= 1 to n do
if odd(i) then {или if i mod 2 <> 0 then}
begin
for j := 1 to m do
write(a[ i, j ]:4);
writeln;
end;
readln
end.
и не будет выводить пустые строки вместо удалённых чётных.
И uses SysUtils; можете удалить - в вашей программе этот модуль не используется.
P.S. В задании написано вещественная матрица, а в программе - целые числа.
в дополнение к ответу "stala rato"
цикл с конца выгляди так:
for i := 10 downto 0 do
begin
end;
Циклов надо 2 все верно) это не ява например где можно из коллекции спокойно удалять элемент.
begin
end;
старайся ставить всегда. проще ошибки потом искать
цикл с конца выгляди так:
for i := 10 downto 0 do
begin
end;
Циклов надо 2 все верно) это не ява например где можно из коллекции спокойно удалять элемент.
begin
end;
старайся ставить всегда. проще ошибки потом искать
во-первых непонятно зачем второй цикл устраивать И по строкам И по колонкам. Нас же строки интересуют.
Кроме того я бы сделал цикл С конца. То есть for i:= n to 1 do (не помню синтаксис как на уменьшение должно быть) . В противном случае при удалении строки 2, строка 4 станет третьей и в последующем не прибьется. Хотя мож с другим языком уже путаю %)
И еще вот тут
begin
write(a[i,j]:4);
end
end;
end почему-то без точки с запятой. А. Так там вообще одна команда. Не надо скобок begin-end вообще ...
Кроме того я бы сделал цикл С конца. То есть for i:= n to 1 do (не помню синтаксис как на уменьшение должно быть) . В противном случае при удалении строки 2, строка 4 станет третьей и в последующем не прибьется. Хотя мож с другим языком уже путаю %)
И еще вот тут
begin
write(a[i,j]:4);
end
end;
end почему-то без точки с запятой. А. Так там вообще одна команда. Не надо скобок begin-end вообще ...
интересно
Похожие вопросы
- помогите доработать программу по паскалю
- Помогите составить программу на паскале!
- помогите с программами в паскале
- Помогите решить программу в паскале)
- помогите доделать программу по паскалю пожалуйста
- Помогите с программой в Паскале, срочно!
- Помогите! нужна программа.!! на паскале.
- Помогите написать программу на паскале
- Помогите с программами в паскале
- Помогите написать программу на Паскале!