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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 17:30   #1
Tw1X
 
Регистрация: 05.04.2011
Сообщений: 8
По умолчанию работа с матрицами и массивами

программа то работает то не работает. может вообще не правильно. я там что то намудрил сам запутался. проверьте пожалуйста

Найти все числа из массива B(n) , встречающиеся более чем в одной строке матрицы A(m,n) .


procedure Vvod(var Matr:TMatr; n,m:integer);
var j,k:integer;
begin
Randomize;
for j:=0 to n do
for k:=0 to m do
Matr[j,k]:=10-random(9);
end;

//вывод матрицы на экран
Procedure Vivod(var Matr:TMatr;n,m:integer;StringGrid1: TstringGrid);
var j,k:integer;
begin
for j:= 0 to n do
for k:=0 to m do
StringGrid1.Cells[j,k]:=intToStr(Matr[j,k]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.RowCount:= strtoint(edit2.text);
StringGrid1.ColCount:= strtoint(edit1.text);
n:= strtoint(edit1.text);
m:= strtoint(edit1.text);
Vvod(Matr,n,m);
Vivod(Matr,n,m,StringGrid1);
end;

procedure TForm1.Button2Click(Sender: TObject);
const r=9;
BEGIN
n:=strtoint(edit1.Text);
For i:=1 to n do begin
mas[i]:=10-random(r);
StringGrid2.Cells[i-1,0]:=Inttostr(mas[i]);
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
k,j,t,cnt:integer;
begin
i:=1; //берем очередное число из массмва В
n:=strtoint(edit1.Text);
m:=strtoint(edit2.Text);

for i:=1 to n do {проходим по всем элементам B}
begin
cnt := 0; {счётчик}
for j:=1 to m do {цикл по строкам матрицы A}
begin
for k:=1 to n do {цикл по элементам одной строки A }
if Matr[j,k] = mas[i] then begin Inc(cnt); break end;
end;
if cnt>2 then StringGrid3.cells[i-1,0]:=Inttostr(mas[i]);
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
Begin
for I:=0 to stringgrid1.RowCount-1 do
for J:=0 to StringGrid1.ColCount-1 do
StringGrid1.Cells[J,I]:='';
for I:=0 to stringgrid2.RowCount-1 do
for J:=0 to StringGrid2.ColCount-1 do
StringGrid2.Cells[J,I]:='';
for I:=0 to stringgrid3.RowCount-1 do
for J:=0 to StringGrid3.ColCount-1 do
StringGrid3.Cells[J,I]:='';
end;
end.
Вложения
Тип файла: rar лаба2.2.rar (193.7 Кб, 7 просмотров)
Tw1X вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с матрицами в c++ Yunut Общие вопросы C/C++ 1 01.06.2011 00:00
Работа с массивами и матрицами (Паскаль) DarKsp Помощь студентам 5 10.01.2011 23:46
Работа с массивами (матрицами) Delphi Сабина90 Помощь студентам 1 30.11.2010 03:23
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Проблема с матрицами и массивами Васяныч Паскаль, Turbo Pascal, PascalABC.NET 4 13.04.2010 16:00