Листинг, программа №2
Помогите пожалуйста написать комментарии к каждой команде)
Дан двумерный массив "А". Пользователь вводит число. Если это число больше первой цифры из столбца, то этот столбец удаляется.. Program pr1; Uses CRT; Const N=5; Const M=5; var A:array[1..N,1..M] of integer; s,i,j,k,p,t,z:integer; Begin s:=M; ClrScr; For i:=1 to N do For j:=1 to M do A[i,j]:=random(20); For i:=1 to N do begin For j:=1 to M do write(A[i,j]:3); Writeln; End; Writeln('vvedite chislo'); Readln(z); j:=1; While j<=S do If A[1,j]>z then begin For t:=1 to N do For p:=j to S-1 do A[t,p]:=A[t,p+1]; S:=S-1; end else j:=j+1; If k=s then write('vse ctolbci ydaleni') else writeln; For i:=1 to N do begin For j:=1 to S do write(A[i,j]:3); Writeln; end; Readln; end. |
После readln(z);
Вот с этого момента пожалуйста tehno015 |
Прежде всего, программу нужно доделать. Где у Вас определено исходное значение переменной k? Не вижу такого. Да и зачем оно вообще нужно? Почему бы не поставить вместо
If k=s then условие If S=0 then ? И не надо никакого k вовсе. Между прочим, вводить переменную S тоже большой нужды нет: после ввода значений матрицы и вывода ее на экран исходное значение M больше не нужно, и можно работать прямо с ним. Но это так, к слову. P.S. А, нет - прошу прощения, недосмотрел - у Вас же М - константа. Тогда с S всё правильно. Виноват-с. |
If S=0 then write('vse ctolbci ydaleni') else
writeln; For i:=1 to N do begin For j:=1 to S do write(A[i,j]:3); Writeln; end; спасибо, исправлено) |
will you help, please? комментарии...
|
Цитата:
|
no problems :) Only this part, please..
For t:=1 to N do For p:=j to S-1 do A[t,p]:=A[t,p+1]; S:=S-1; end else j:=j+1; и для чего вводится переменные t and p? |
Цитата:
|
ясен) спасибо))
|
Часовой пояс GMT +4, время: 11:57. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.