Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.11.2010, 19:21
melnikovd melnikovd вне форума
Прохожий
 
Регистрация: 15.11.2010
Сообщения: 3
Репутация: 10
По умолчанию Двухмерный массив Delfi 7

Уважаемые форумчане! Пожалуйста, укажите на ошибки!

Заданы матрицы A(n*m) и B(n*m). Сравнить их соответствующие элементы (с одинаковыми номерами) и записать равные элементы в вектор C .
Код:
program Mas;
Const
m=40; n=40;
Var
k:integer;
i,j:integer; //rabo4aya peremennaya
b:array [1..m,1..n]of real; // Massiv 1
a:array [1..m,1..n] of real; // Massiv 2
begin
k:=0;
writeln('V-te kol-vo n <=40');
readln(n);
writeln('V-te kol-vo m <=40');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
 for j:=1 to m do
  readln(a[i,j]);
writeln ('v-te massiv 2 ');
for i:=1 to n do
 for j:=1 to m do
  readln(b[i,j]);  
  c:array[1..m*n] of real;
  for i:=1 to k do
 write(c[i],' ');
if a[i,j]=b[i,j] then  begin
 k:=k+1;
  c[k]:=a[i,j];
  end;
writeln(c[i]);
readln;
end.
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 16.11.2010 в 20:36.
Ответить с цитированием
  #2  
Старый 16.11.2010, 19:40
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

В таком тексте трудно разобраться.
Лучше бы его структурировать.
Но если следовать тому, что там есть, то как вариант, должно быть так (синтаксис не проверял, извините) :
Код:
program Mas;
Const
  m=40; n=40;
Var
  k:integer;
  i,j:integer; //rabo4aya peremennaya
  b:array [1..m,1..n]of real; // Massiv 1
  a:array [1..m,1..n] of real; // Massiv 2
  c:array[1..m*n] of real;
begin
  //---------------------------------------
  //Значения констант нельзя менять, если они объявлены так, как объявлены                                                                                                                                          
  //writeln('V-te kol-vo n <=40');
  //readln(n);
  //writeln('V-te kol-vo m <=40');
  //readln(m);
  //---------------------------------------                                                                                      
  
  //---------------------------------------                                                                                      
  writeln ('v-te massiv 1 ');
  for i:=1 to n do
   begin                   
    for j:=1 to m do
     begin                   
       write('a(',i,',',j,')=');
       readln(a[i,j]);
     end;          
  end;          
  //---------------------------------------                                                                                      
    
  //---------------------------------------                                                                                      
  writeln ('v-te massiv 2 ');
  for i:=1 to n do
   begin                   
    for j:=1 to m do
     begin                   
       write('b(',i,',',j,')=');
       readln(b[i,j]);
     end;          
  end;          
  //---------------------------------------                                                                                      
    
  //---------------------------------------                                                                                      
  k:=0;
  for i:=1 to n do
   begin
    for j:=1 to m do
     begin
       if a[i,j]=b[i,j] then begin
          k:=k+1;
          c[k]:=a[i,j];
          writeln('c(',k,')=',c[k]);
       end;               
    end;                 
  end;                 
  //---------------------------------------                                                                                      
    
  readln;
end.
Ответить с цитированием
  #3  
Старый 16.11.2010, 21:33
melnikovd melnikovd вне форума
Прохожий
 
Регистрация: 15.11.2010
Сообщения: 3
Репутация: 10
По умолчанию

Код:
program variant618;
Var
k:integer;
i,j,n,m:integer; //rabo4aya peremennaya
b:array [1..10,1..10] of real; // Massiv 1
a:array [1..10,1..10] of real; // Massiv 2
c:array[1..100] of real;

begin
k:=0;
writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);
writeln ('v-te massiv 2 ');
for i:=1 to n do
for j:=1 to m do
readln(b[i,j]);


for i:=1 to n do
 for j:=1 to m do
  if a[i,j]=b[i,j] then begin
                             k:=k+1;
                             c[k]:=a[i,j];
                           end;
writeln;
for i:=1 to k do
writeln(c[i]);
readln;
end.
Admin: Повторяю, читаем Правила, при рецедиве последуют санкции.

так правильно?

Последний раз редактировалось Admin, 16.11.2010 в 22:59.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:37.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025