Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите исправить задачку
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Дёнис
Вот собственно задачка:
Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел 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.
volvo
Ну, начнем с того, что ты неправильно вводишь матрицу... При M=3 и N=3 запрашивается только 3 элемента, а нужно 9...

Исправляй сам, т.к. это было описано в FAQ-е... Сколько уже можно делать одно и то же?
Дёнис
Извини если что... unsure.gif Сейчас попробую..
А ещё что неверно кроме этого?
MaximumGame
да простит меня денис я немного исправил его задачу и она работает нормально я проверял
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 мин.
на форуме ее не нашел мож кому пригодится
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.