Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача о двумерном массиве
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-rov4-
Привет всем.
Помогите, пожалуйста, решить задачу (сегодня сдавать): Дан двумерный массив, найти все элементы, большие 6-ти; создать одномерный массив, заполняя его с конца (условие переписано полностью).
Заранее спасибо!
FreeMan
Аналогичные задачи на форуме решались множество (неисчислимое) раз.
Вот как найти (и вывести на экран) все элементы больше 6
Код
for i:=1 to n do
for j:=1 to m do
if a[i,j]>6 then writeln(a[i,j],' ');

Заполнение массива с конца случайными числами
Код
for i:=n downto 1 do a[i]:=random(1000);
-rov4-
Ну вот начало у меня такое:
Код
uses  crt;
const n=4;
     par=(n*4);
type matriz=array[1..n,1..m] of integer;
var i,j,a:integer;
   mas:matriz;
   im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
        begin
         clrscr;
          writeln('‚Вводим элементы в массив, размерность [',n,',',n,'],');
          for i:=1 to n do
           for j:=1 to m do
            begin
             write('‚Введите элемент [',i,',',j,']=,');
             readln(vmas[i,j]);
            end;
        end;
procedure print(vmas:matriz);
        begin
         writeln('‚Ваш массив имеет вид.,');
            for i:=1 to n do
             begin
              for j:=1 to n do
              begin
              write(' ',vmas[i,j],' ');
              end;
              writeln;
             end;
        end;
begin
for i:=1 to n do
for j:=1 to m do
if [i,j]>6 then writeln (a[i,j],'');
readln;
end

Что делать дальше? И какие ошибки тут?
FreeMan
Что такое m?
дальше - процедуры есть, а где они вызываются?
-rov4-
Вместо m должно быть n (опечатка).
А вот насчёт второго вопроса...не знаю (очень слабо разбираюсь во всём этом, поэтому и прошу помощи)... unsure.gif
FreeMan
фрагмент, где должны "торчать" вызовы процедур

Цитата
begin
vvod(mas);{заполнить}
print(mas);{вывести на экран}
for i:=1 to n do
for j:=1 to m do
if [i,j]>6 then writeln (a[i,j],'');
readln;
end.{ты точку забыл smile.gif }
-rov4-
Да (с процедурами всё понятно), но мне же ещё надо создать и заполнить одномерный массив... unsure.gif unsure.gif
FreeMan
Цитата
Код
im:array[1..par] of integer;

вот это массив.
Код

for i:=par downto 1 do  begin
write('Enter mas[', i,']: ');
readln(mas[i]);
end;

это заполнение
-rov4-
FreeMan,
Спасибо за подсказки, надеюсь, всё получится.
-rov4-
Итак, вот что у меня получилось, но я уверена, что это не правильно. Что ещё надо добавить или исправить? rolleyes.gif
Код
program D_Array;
uses  tpcrt;
const n=4;
     par=(n*4);
type matriz=array[1..n,1..n] of integer;
var i,j,a:integer;
   mas:matriz;
   im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
        begin
         clrscr;
          writeln('‚Вводим элементы массива, размерность [',n,',',n,']');
          for i:=1 to n do
           for j:=1 to n do
            begin
             write('Введите элемент [',i,',',j,']=');
             readln(vmas[i,j]);
            end;
        end;
procedure print(vmas:matriz);
        begin
         writeln('Ваш массив имеет вид.');
            for i:=1 to n do
             begin
              for j:=1 to n do
              begin
              write(' ',vmas[i,j],' ');
              end;
              writeln;
             end;
        end;
begin
vvod(mas);   {заполняем}
print(mas);    {выводим на экран­}
i:=1 to n do
for j:=1 to n do
if [i,j]>6 then
 begin
writeln('Элементы, большие 6');
readln;
end;

var im:array[1..par] of integer;
begin
for i=par downto 1 do begin
a[i]:=random(1000);
write('Enter mass[',i,']:');
readln(mass[i]);
end.

Заранее спасибо.
FreeMan
1. Откуда такая уверенность???? небось пыталась в компилятор запихать? smile.gif
2. Пишу прогу(может с ошибками, которые добрые люди исправят)
Код
program D_Array;
uses  crt;
const n=4;
    par=(n*4);
type matriz=array[1..n,1..n] of integer;
var i,j,a:integer;
  mas:matriz;
  im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
       begin
        clrscr;
         writeln('Вводим элементы массива, размерность [',n,',',n,']');
         for i:=1 to n do
          for j:=1 to n do
           begin
            write('Введите элемент [',i,',',j,']=');
            readln(vmas[i,j]);
           end;
       end;
procedure print(var vmas:matriz);
       begin
        writeln('Ваш массив имеет вид.');
           for i:=1 to n do
            begin
             for j:=1 to n do
             begin
             write(' ',vmas[i,j],' ');
             end;
             writeln;
            end;
       end;
begin
vvod(mas);   {заполняем}
print(mas);    {выводим на экран­}
writeln('Элементы, большие 6');
for i:=1 to n do
for j:=1 to n do
if mas[i,j]>6 then write(mas[i,j],'   ');
writeln;
readln;

for i:=par downto 1 do begin
write('Enter im[',i,']: ');
readln(im[i]);
end;

readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.