28.05.2012, 18:25 | #1 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Листинг, программа №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. |
28.05.2012, 18:25 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Эти ссылки могут быть вам полезны, обратите внимание Программа на Си Нужен листинг программы и блок-схема Листинг, программа |
28.05.2012, 19:35 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Прежде всего, программу нужно доделать. Где у Вас определено исходное значение переменной k? Не вижу такого. Да и зачем оно вообще нужно? Почему бы не поставить вместо
If k=s then условие If S=0 then ? И не надо никакого k вовсе. Между прочим, вводить переменную S тоже большой нужды нет: после ввода значений матрицы и вывода ее на экран исходное значение M больше не нужно, и можно работать прямо с ним. Но это так, к слову. P.S. А, нет - прошу прощения, недосмотрел - у Вас же М - константа. Тогда с S всё правильно. Виноват-с. |
29.05.2012, 12:26 | #5 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
will you help, please? комментарии...
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
29.05.2012, 12:59 | #7 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
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? |
29.05.2012, 14:22 | #8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Это Вы у МЕНЯ спрашиваете? Но... это не моя программа. Впрочем, отвечу. Переменная t вводится для балды, никакого смысла ее введение не имеет, вполне можно обойтись той же i. Другое дело p. Эта нужна. Ведь переменная j занята: это номер столбца, подлежащего изничтожению, и пока происходит сдвиг значений элементов матрицы, трогать ее нельзя. Вот и приходится вводить другую, вспомогательную переменную.
|
29.05.2012, 15:47 | #9 (permalink) |
Member
Регистрация: 12.04.2012
Сообщений: 28
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ясен) спасибо))
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|