IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задачка,кто может,помогите пожалуйста.
zAra
сообщение 5.12.2007 23:24
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


Помогите,кому не сложно пожалуйста,очень надо!!!!
Использовать подпрограммы(ввода,вывода,обрабатывающей
части).Дан массив целых чисел A[M,N],где
M,N<=10.Удалить все столбцы,в которых первый элемент
больше последнего.
Код не правильный-так мои идейки.
Uses crt;
type
mas=array[1..10,1..10]of integer;
size=1..10;
var
a:mas;
i,j:integer;
n,m:size;
res:integer;
Procedure Inp(n,m:integer;Var a:mas);
Var
i,j:integer;
begin
randomize;
For i:=1 to n do
For j:=1 to m do
a[i,j]:=integer(random(10))-3;
end;
procedure sear(n,m:integer;var a:mas;var res:integer);
var
i,j:integer;
begin
res:=1;
for j:= 1 to m do
if a[1,j]>a[10,j] then res:=j;
end;
Procedure Del(Var a:mas; Var n,m:integer; k1 :
integer);
Var
i, j : integer;
Begin
for j := k1 to m-1 do
for i := 1 to n do
a[i, j] := a[i,j+1];
for i := 1 to n do
a[i, m] := 0;
Dec(m);
End;
Procedure Out(n,m:integer;Var a:mas);
Var
i,j:integer;
begin
For i:=1 to n do begin
For j:=1 to m do
write(a[i,j]:5); writeln;
end;
end;
begin
writeln('Vvedite razmernost'' matricy: ');
readln(n,m);
inp(n,m,a);
writeln('Matrica do udaleniya stolbcov: ');
out(n,m,a);
writeln('Matrica posle udaleniya stolbcov: ');
sear(n,m,a,res);
del(a,n,m,res);
out(n,m,a);
readln;
end.


Сообщение отредактировано: Lapp - 6.12.2007 1:31
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 6.12.2007 13:54
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Все в целом неплохо, только у тебя одна ошибка в процедуре Sear была (10 нужно заменить на n), но можно ее не исправлять, поскольку эта процедура совсем не нужна. Я сделал цикл с поиском нужных столбцов в самом теле главной программы, в этом цикле вызывается проседура Del - разберись с этим.

Совет: старайся избегать названий процедур и переменных, которые совпадают с зарезервированными паскалевскими словами. Переименуй процедуру Out. Кстати, самое подходящее название - Show smile.gif.

И обрати внимание на форматирование..
Uses crt;
type
mas=array[1..10,1..10]of integer;
size=1..10;
var
a:mas;
i,j:integer;
n,m:size;

Procedure Inp(n,m:integer;Var a:mas);
Var
i,j:integer;
begin
randomize;
For i:=1 to n do For j:=1 to m do a[i,j]:=integer(random(10))-3;
end;

Procedure Del(Var a:mas; Var n,m:size; k1 :integer);
Var
i, j : integer;
Begin
for j := k1 to m-1 do for i := 1 to n do a[i, j] := a[i,j+1];
for i := 1 to n do a[i, m] := 0;
Dec(m);
End;

Procedure Out(n,m:integer;Var a:mas);
Var
i,j:integer;
begin
For i:=1 to n do begin
For j:=1 to m do write(a[i,j]:5);
writeln;
end;
end;

begin
writeln('Vvedite razmernost'' matricy: ');
readln(n,m);
inp(n,m,a);
writeln('Matrica do udaleniya stolbcov: ');
out(n,m,a);
writeln('Matrica posle udaleniya stolbcov: ');
{sear(n,m,a,res);}
for j:=m downto 1 do if a[1,j]>a[n,j] then del(a,n,m,j);
out(n,m,a);
readln;
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 15:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"