Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
upgpwnz
1

Двумерный массив.

27.12.2011, 16:44. Показов 1051. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помоги пожалуйста с лаб. работой, обычно проблем не возникает но тут, возникла проблема с тем, что нужно определить есть ли в массиве столбец, в котором имеются одинаковые элементы.
Задание:
Дан двумерный массив размером m*n, заполненный случ. Числами. определить, есть ли в данном массиве столбец, в котором имеются одинаковые элементы.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2011, 16:44
Ответы с готовыми решениями:

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

Delphi. Двумерный массив. Заполнить массив А следующим образом var A:array [1.10, 1.10] of byte; :
Помогите решить задачу, как заполнить ее в StringGrid var A:array of byte; Заполнить массив...

Создать двумерный динамический массив произвольного размера NxN (размер ввести). Заполнить массив случайным об
Создать двумерный динамический массив произвольного размера NxN (размер ввести). Заполнить массив...

Дан двумерный массив. Получить новый массив путем деления всех элементов строки на наименьший по модулю эл
Дан двумерный массив. Получить новый массив путем деления всех элементов строки на наименьший по...

2
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
27.12.2011, 17:43 2
Лучший ответ Сообщение было отмечено как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button1Click(Sender: TObject);
var i,j,q,tmp:byte; mas:array[0..9,0..9]of byte;
begin
label1.Caption:='';
label2.Caption:='';
//заполняем массив
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
    mas[i,j]:=Random(100);
 
//выводим массив в label1
for i:=0 to high(mas) do begin
  for j:=0 to high(mas) do
    label1.Caption:=label1.Caption+inttostr(mas[i,j])+' ';
label1.Caption:=label1.Caption+#13#10;
end;
 
 
//проверяем столбцы массива
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
  for q:=j+1 to high(mas) do
    if (mas[q,i]=mas[j,i])and(pos(inttostr(i),label2.Caption)=0)then
      label2.Caption:=label2.Caption+inttostr(i)+' ';   //если есть совпадения и раньше номер столбца не выводился, то выводим его в label2
 
label2.Caption:='В столбцах есть совпадения:'+#13#10+label2.Caption;
end;
1
upgpwnz
27.12.2011, 18:13 3
Цитата Сообщение от anonimus Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button1Click(Sender: TObject);
var i,j,q,tmp:byte; mas:array[0..9,0..9]of byte;
begin
label1.Caption:='';
label2.Caption:='';
//заполняем массив
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
    mas[i,j]:=Random(100);
 
//выводим массив в label1
for i:=0 to high(mas) do begin
  for j:=0 to high(mas) do
    label1.Caption:=label1.Caption+inttostr(mas[i,j])+' ';
label1.Caption:=label1.Caption+#13#10;
end;
 
 
//проверяем столбцы массива
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
  for q:=j+1 to high(mas) do
    if (mas[q,i]=mas[j,i])and(pos(inttostr(i),label2.Caption)=0)then
      label2.Caption:=label2.Caption+inttostr(i)+' ';   //если есть совпадения и раньше номер столбца не выводился, то выводим его в label2
 
label2.Caption:='В столбцах есть совпадения:'+#13#10+label2.Caption;
end;
в принципе работает) но как сделать чтобы результат выводился не в лейбл а в СтрингГрид?

Добавлено через 12 минут
Цитата Сообщение от upgpwnz Посмотреть сообщение
в принципе работает) но как сделать чтобы результат выводился не в лейбл а в СтрингГрид?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button1Click(Sender: TObject);
var i,j,q,tmp:byte; mas:array[0..9,0..9]of byte;
begin
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
    mas[i,j]:=Random(100);
 
for i:=0 to high(mas) do begin
  for j:=0 to high(mas) do
StringGrid1.Cells[i,j]:= inttostr(mas[i,j]);
end;
Application.ProcessMessages;
 
for i:=0 to high(mas) do
  for j:=0 to high(mas) do
  for q:=j+1 to high(mas) do
    if (mas[q,i]=mas[j,i])and(pos(inttostr(i), Edit1.Text)=0)then
   Edit1.text:=Edit1.text+inttostr(i)+' ';
 
edit1.text:='Â ñòîëáöàõ åñòü ñîâïàäåíèÿ:'+#13#10+Edit1.text;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
 
end.
сделал вроде)) массив выводится в стринггрид а совпадения в эдит1. Спасибо огромное )
27.12.2011, 18:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2011, 18:13
Помогаю со студенческими работами здесь

Двумерный массив.Найти сумму элементов в каждом столбце и занести ее в новый одномерный массив.Где ошибка?
program Project14; {$APPTYPE CONSOLE} uses SysUtils; type mas1=array of integer; ...

Преобразовать двумерный массив T в одномерный массив Y
Сформируйте двумерный целочисленный массив T(6x6), используя генератор случайных чисел на интервале...

двумерный массив
Определить произведение элемен-тов двухмерного массива. procedure TForm1.btn1Click(Sender:...

Двумерный массив
Помогите написать код ,что бы он находил сумму каждой строки двумерного массива и выводил ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru