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

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

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

> Помогите исправить задачку, с подпрограммой
Дёнис
сообщение 13.12.2005 11:13
Сообщение #1


Новичок
*

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

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


Вот собственно задачка:
Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел A[M,N], где M,N<=10. Вставить последнюю строку после строки, в которой находится заданное число K.

И я уже что-то написал, только не понимаю кое-чего, скопируйте пожалуйста и поправьте что неправильно. !4.gif
program lab4_2;
const
k=10;
var
A:array [1..10, 1..10] of integer;
M,N:integer;
procedure inputArray;
var
i,j:integer;
begin
write ('?M=');
readln (M);
if M>10 then
begin
writeln ('M must be <=10');
N:=0; M:=0;
exit;
end;

write ('?N=');
readln (N);
if N>10 then
begin
writeln ('N must be <=10');
N:=0; M:=10;
exit;
end;

for i:=1 to M do
begin
write ('?A[',i,',',',j]=');
readln (A[i,j]);
end;

end;

procedure printArray;
var
i,j:integer;
begin
writeln ('A=');
if (N>0) and (M>0) then
begin
for i:=1 to M do
begin
write (A[i,j]);
end;
writeln;
end;
end;
procedure vstav;
var
i,j,v,w,t:integer;
begin
for i:=v downto t do
for j:=1 to w do
A[i+1,j]:=A[i,j];
writeln (A[i,j]);
end;
begin
inputArray;
printArray;
vstav;
printArray;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 13.12.2005 11:18
Сообщение #2


Гость






Ну, начнем с того, что ты неправильно вводишь матрицу... При M=3 и N=3 запрашивается только 3 элемента, а нужно 9...

Исправляй сам, т.к. это было описано в FAQ-е... Сколько уже можно делать одно и то же?
 К началу страницы 
+ Ответить 
Дёнис
сообщение 13.12.2005 12:05
Сообщение #3


Новичок
*

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

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


Извини если что... unsure.gif Сейчас попробую..
А ещё что неверно кроме этого?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
MaximumGame
сообщение 12.01.2008 19:14
Сообщение #4


Новичок
*

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

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


да простит меня денис я немного исправил его задачу и она работает нормально я проверял
program lab4_2;
type
ar=array [1..10, 1..10] of integer;
var
a:ar;
m,n,i,j,k,ki,kj,b,buf,buf1:integer;
procedure inputArray(var x:ar; i,j:integer);
begin
write ('M=');
readln (M);
if M>10 then
begin
writeln ('M must be <=10');
N:=0; M:=0;
exit;
end;
write ('N=');
readln (N);
if N>10 then
begin
writeln ('N must be <=10');
N:=0; M:=0;
exit;
end;
begin
randomize;
for i:=1 to m do
for j:=1 to n do
x[i,j]:=integer(random(100))-50;
end;

end;

procedure printArray(x:ar; i,j:integer);
begin
for i:=1 to m do
begin
for j:=1 to n do
write (x[i,j]:4);
writeln;
end;
end;
procedure vstav(var x:ar; k,i,j,ki,kj:integer);
begin
b:=0;
writeln('vvedite k ');
readln(k);
for i:=1 to m do
for j:=1 to n do
if x[i,j]=k then
begin
kj:=j;
ki:=i;
b:=b+1;
end;
if b=0 then writeln('takix znacheny net')
else writeln(k,'[',ki,',', kj,']');
begin
for i:=m downto ki+2 do
for j:=1 to n do
begin
buf:=x[i,j];
buf1:=x[i-1,j];
x[i-1,j]:=x[i,j];
x[i,j]:=buf1
end;
end;
end;
begin
inputArray(a,i,j);
printArray(a,i,j);
vstav(a,k,i,j,kj,ki);
printArray(a,i,j);
readln;
end.
P.S спасибо форуму без него бы не сделал!

Добавлено через 1 мин.
на форуме ее не нашел мож кому пригодится
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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