1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
удаление строк у массиве, в Паскале я новичок, если можно помогите
Дан двухмерный массив. Удалить из него две строки, одна из которых расположена перед s-й строкой, а вторая перед p-й. Вобшем я создал массив, а дальше не знаю, если можно допишите вот текст
Код
program a1; uses crt; const n=10; var a:array[1..n,1..n] of integer; i,j: integer; begin clrscr; randomize; begin for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(99)-1; write(a[i,j]:7); end; writeln end; readln end; end.
Как именно удалить? 1.Можно просто при следующем выводе массива не показывать эти две строки. 2.Забить нулями и оставить висеть на своих местах 2.1.Забить нулями и не учитывать при выводе. 3.Здвинуть строки в конец массива и при выводе не учитывать.
Первый вариант самый простой, но дуаю самый тупой...
Как именно удалить? 1.Можно просто при следующем выводе массива не показывать эти две строки. 2.Забить нулями и оставить висеть на своих местах 2.1.Забить нулями и не учитывать при выводе. 3.Здвинуть строки в конец массива и при выводе не учитывать.
Первый вариант самый простой, но дуаю самый тупой...
Должно получатся вот так 1 2 3 4 5 6 2 2 3 4 2 6 8 6 4 2 7 4 - это массив который появляется сначала, я ввожу номера строк которые я хочу удалить 3 9 3 8 3 3 5 7 4 8 6 8
и это будет вот так 1 2 3 4 5 6 8 6 4 2 7 4 - я удалил вторую и пятою строки 3 9 3 8 3 3 но я не знаю как ето переделать, вот могу дать еще исходник полной проги если её будед легче переделать но здесь есть Label которые мы не учили нужно будет от них избавится. Нужно переделать так чтобы она была без Label. Помогите с прогою очень нада.
program ex1066; uses crt; label RepeatInput; const lenRows=6; lenColumns=4; d1=-10; d2=10; var r,c : byte; i,p : byte; m : array [1..lenRows,1..lenColumns] of integer; mres : array [1..lenRows-2,1..lenColumns] of integer; begin randomize; for r:=1 to lenRows do for c:=1 to lenColumns do m[r,c]:=random(d2-d1+1)+d1; clrscr;
writeln('Матриця'); for r:=1 to lenRows do begin for c:=1 to lenColumns do write(M[r,c]:8); writeln; end; RepeatInput: writeln('програма знищує i-й та p-й рядок i<p : '); write('введiть номер рядка i: ');readln(i); write('введiть номер рядка p: ');readln(p); if (i>lenrows) or (p>lenrows) or (i>=p) then goto RepeatInput;
for r:=1 to i-1 do for c:=1 to lencolumns do mres[r,c]:=m[r,c];
for r:=i+1 to p-1 do for c:=1 to lencolumns do mres[r-1,c]:=m[r,c];
for r:=p+1 to lenrows do for c:=1 to lencolumns do mres[r-2,c]:=m[r,c];
writeln('Матриця'); for r:=1 to lenRows-2 do begin for c:=1 to lenColumns do write(MRes[r,c]:8); writeln; end;