Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2011, 00:45   #1
Kris201
Новичок
Джуниор
 
Регистрация: 23.05.2011
Сообщений: 4
По умолчанию Сложение матриц

Плиз помогите реализовать программу в Delphi..

есть аналогичная а я в делфи практически не шарю =.=

хелп плиз))
вот сам код на паскале)

Цитата:
program a1;
uses crt;
var
c: char;
a,b,s: array [1..20,1..20] of integer;
m,n,i,j: integer;
begin
clrscr;
write('Vvedite razmernost matrici (M N):');
readln(m,n);
write('Sozdat matrici proizvolno? Y/N: ');
readln(c);
if (c='Y') or (c='y') then
begin
randomize;
writeln('Sozdanie matric...');
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
a[i,j]:=random(30)+10;
write(a[i,j],' ');
end;
end;
writeln;
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
b[i,j]:=random(30)+10;
write(b[i,j],' ');
end;
end;
end
else if (c='N') or (c='n') then
begin
writeln('Vvedite matrici vruchnuu:');
writeln(' Pervaya (postrochno):');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
writeln;
writeln(' Vtoraya (postrochno):');
for i:=1 to n do
for j:=1 to m do
read(b[i,j]);
end
else writeln('Oshibka vvoda!');

if (c='N') or (c='n') or (c='Y') or (c='y') then
begin
writeln;
writeln;
writeln('Summa: ');
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
s[i,j]:=a[i,j]+b[i,j];
write(s[i,j],' ');
end;
end;
end;
readkey;
end.
Kris201 вне форума Ответить с цитированием
Старый 23.05.2011, 04:38   #2
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

File->New->Other...->New->Console Application

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
c: char;
a,b,s: array [1..20,1..20] of integer;
m,n,i,j: integer;
begin
     write('Vvedite razmernost matrici (M N):');
     readln(m,n);
     write('Sozdat matrici proizvolno? Y/N: ');
     readln(c);
     if (c='Y') or (c='y') then
     begin
          randomize;
          writeln('Sozdanie matric...');
          for i:=1 to n do
          begin
               writeln;
               for j:=1 to m do
               begin
                    a[i,j]:=random(30)+10;
                    write(a[i,j],' ');
               end;
          end;
          writeln;
          for i:=1 to n do
          begin
               writeln;
               for j:=1 to m do
               begin
                    b[i,j]:=random(30)+10;
                    write(b[i,j],' ');
               end;
          end;
     end
     else if (c='N') or (c='n') then
     begin
          writeln('Vvedite matrici vruchnuu:');
          writeln(' Pervaya (postrochno):');
          for i:=1 to n do
          for j:=1 to m do
          read(a[i,j]);
          writeln;
          writeln(' Vtoraya (postrochno):');
          for i:=1 to n do
          for j:=1 to m do
          read(b[i,j]);
     end
     else writeln('Oshibka vvoda!');

     if (c='N') or (c='n') or (c='Y') or (c='y') then
     begin
          writeln;
          writeln;
          writeln('Summa: ');
          for i:=1 to n do
          begin
               writeln;
               for j:=1 to m do
               begin
                    s[i,j]:=a[i,j]+b[i,j];
                    write(s[i,j],' ');
               end;
          end;
     end;
     readln;
end.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 23.05.2011, 09:57   #3
Kris201
Новичок
Джуниор
 
Регистрация: 23.05.2011
Сообщений: 4
По умолчанию

cяп)) работает))
но вряд ли примут...предмет наз визуальное программирование или как то так)))
Kris201 вне форума Ответить с цитированием
Старый 23.05.2011, 10:00   #4
Азамат Казанчев
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 110
По умолчанию

и в чем проблема? если нужна именно в делфи просто переделай или еще что то не то?
Азамат Казанчев вне форума Ответить с цитированием
Старый 23.05.2011, 10:03   #5
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Kris201 Посмотреть сообщение
cяп)) работает))
но вряд ли примут...предмет наз визуальное программирование или как то так)))
то бишь с использованием форм?

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
     StringGrid1.FixedCols:=0;
     StringGrid1.FixedRows:=0;
     StringGrid1.ColCount:=0;
     StringGrid1.RowCount:=0;
     StringGrid2.FixedCols:=0;
     StringGrid2.FixedRows:=0;
     StringGrid2.ColCount:=0;
     StringGrid2.RowCount:=0;
     StringGrid3.FixedCols:=0;
     StringGrid3.FixedRows:=0;
     StringGrid3.ColCount:=0;
     StringGrid3.RowCount:=0;
end;

procedure TForm1.Edit1Change(Sender: TObject);
var n,code:integer;
begin
     val(Edit1.Text,n,code);
     if code=0 then
     begin
          StringGrid1.RowCount:=n;
          StringGrid2.RowCount:=n;
          StringGrid3.RowCount:=n;
     end;
end;

procedure TForm1.Edit2Change(Sender: TObject);
var m,code:integer;
begin
     val(Edit2.Text,m,code);
     if code=0 then
     begin
          StringGrid1.ColCount:=m;
          StringGrid2.ColCount:=m;
          StringGrid3.ColCount:=m;
     end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
     randomize;
     for i:=0 to StringGrid1.RowCount-1 do
     for j:=0 to StringGrid1.ColCount-1 do
     StringGrid1.Cells[j,i]:=IntToStr(random(30)+10);
     for i:=0 to StringGrid2.RowCount-1 do
     for j:=0 to StringGrid2.ColCount-1 do
     StringGrid2.Cells[j,i]:=IntToStr(random(30)+10);
end;

procedure TForm1.Button2Click(Sender: TObject);
var a,b,code,i,j:integer;
begin
     for i:=0 to StringGrid3.RowCount-1 do
     for j:=0 to StringGrid3.ColCount-1 do
     begin
          val(StringGrid1.Cells[j,i],a,code);
          if code=0 then
          begin
               val(StringGrid2.Cells[j,i],b,code);
               if code=0 then StringGrid3.Cells[j,i]:=IntToStr(a+b);
          end;
     end;
end;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 23.05.2011 в 10:33.
Sparkman вне форума Ответить с цитированием
Старый 23.05.2011, 19:29   #6
Kris201
Новичок
Джуниор
 
Регистрация: 23.05.2011
Сообщений: 4
По умолчанию

а мог бы скинуть свой исходник?...а то я создаю новый проект...вставляю вроде все правильно код на чейнджи и на кнопки а коплилятор ругается в самом начале кода

Unit1.pas(35): Undeclared identifier: 'StringGrid1'
Kris201 вне форума Ответить с цитированием
Старый 25.05.2011, 10:52   #7
Kris201
Новичок
Джуниор
 
Регистрация: 23.05.2011
Сообщений: 4
По умолчанию

программа сделана по другому но все равно выдает ошибку почти туже....

вот сама часть с ошибкой

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize; //генератор случайных чисел
// установление свойств компонента Stringrid2, Stringgrid3 присваивается количество строк и //столбцов компонент StringGrid1
stringgrid2.ColCount:= stringgrid1.ColCount;
stringgrid2.RowCount:= stringgrid1.RowCount;
stringgrid2.DefaultColWidth:=stringgrid1.DefaultColWidth;
stringgrid2.DefaultRowHeight:= stringgrid1.DefaultRowHeight;
stringgrid2.FixedCols:= stringgrid1.FixedCols;
stringgrid2.FixedRows:= stringgrid1.FixedRows;
stringgrid2.Height:=stringgrid1.Height;
stringgrid2.Width:= stringgrid1.Width;
stringgrid3.ColCount:= stringgrid1.ColCount;
stringgrid3.RowCount:= stringgrid1.RowCount;
stringgrid3.DefaultColWidth:=stringgrid1.DefaultColWidth;
stringgrid3.DefaultRowHeight:= stringgrid1.DefaultRowHeight;
stringgrid3.FixedCols:= stringgrid1.FixedCols;
stringgrid3.FixedRows:= stringgrid1.FixedRows;
stringgrid3.Height:=stringgrid1.Height;
stringgrid3.Width:= stringgrid1.Width;
for i:=0 to stringgrid1.RowCount-1 do for j:=0 to stringgrid1.colCount-1 do begin stringGrid1.Cells[i,j]:='';
stringGrid2.Cells[i,j]:=''; end; end;


не могу понять почему хееелп
Kris201 вне форума Ответить с цитированием
Старый 25.05.2011, 11:50   #8
Азамат Казанчев
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 110
По умолчанию

Unit1.pas(35): Undeclared identifier: 'StringGrid1' значит не описан StringGrid1 или его просто нет на форме
Азамат Казанчев вне форума Ответить с цитированием
Старый 25.05.2011, 12:01   #9
Азамат Казанчев
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 110
По умолчанию

интефейс доделай
Вложения
Тип файла: rar prog.rar (4.3 Кб, 20 просмотров)
Азамат Казанчев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20
Сложение двух квадратных матриц Bastino Общие вопросы C/C++ 3 29.03.2010 16:29
сложение матриц daimonTM Помощь студентам 4 24.03.2010 20:39
добавить сложение двух матриц miha815 Помощь студентам 2 28.11.2009 20:06
Сложение двух матриц Аркадий Помощь студентам 5 26.04.2008 15:22