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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.06.2012, 22:38
Andruxa Andruxa вне форума
Прохожий
 
Регистрация: 11.05.2011
Сообщения: 7
Репутация: 10
По умолчанию помогите сформировать из двухмерного массива

Помогите сформировать из двухмерного массива !!!
Одномерноый массив из максимальных элементов столбцов и одномерный массив из сумм элементов строк
Ответить с цитированием
  #2  
Старый 07.06.2012, 22:46
MiraLaklamon MiraLaklamon вне форума
Новичок
 
Регистрация: 07.06.2012
Сообщения: 59
Версия Delphi: 6, 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Andruxa
Помогите сформировать из двухмерного массива !!!
Одномерноый массив из максимальных элементов столбцов и одномерный массив из сумм элементов строк
Показывай исходники заполнения двумерного массива - покажу как сформировать из него одномерные
Ответить с цитированием
  #3  
Старый 07.06.2012, 22:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Здесь помогают не готовым кодом, а вам найти ошибку в своем. За халявой в работу велком.
А если хотите сами сделать, то вот вам примерный алгоритм:
1. Создаете одномерный массив размерностью в количество столбцов.
2. Пробегаетесь в цикле по всем столбцам вашего двумерного массива и записываете найденное максимальное значение в новый одномерный массив для каждого столбца. Выводите на печать результат если необходимо.
Вторая задача почти идентична первой, но не ищете максимум, а просто накапливаете сумму в новый одномерный массив для каждой строки.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 07.06.2012, 23:13
Andruxa Andruxa вне форума
Прохожий
 
Регистрация: 11.05.2011
Сообщения: 7
Репутация: 10
По умолчанию

Код:
type
  massiv = array of array of integer;

 function matrix(a,b:integer; ar:massiv):integer;stdcall;external 'mas.dll';
 function max(a,b:integer; ar:massiv):integer;stdcall;external 'mas.dll';

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

for i:=0 to 3 do
  for j:=0 to 3 do
   sg1.Cells[i,j]:= inttostr(random(100)-50);

end;;
нужно создать function чтоб определяла Одномерноый массив из максимальных элементов столбцов и формировала новый одномерный массив!

Последний раз редактировалось Andruxa, 07.06.2012 в 23:31.
Ответить с цитированием
  #5  
Старый 08.06.2012, 00:01
MiraLaklamon MiraLaklamon вне форума
Новичок
 
Регистрация: 07.06.2012
Сообщения: 59
Версия Delphi: 6, 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Andruxa
Код:
type
  massiv = array of array of integer;

 function matrix(a,b:integer; ar:massiv):integer;stdcall;external 'mas.dll';
 function max(a,b:integer; ar:massiv):integer;stdcall;external 'mas.dll';

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

for i:=0 to 3 do
  for j:=0 to 3 do
   sg1.Cells[i,j]:= inttostr(random(100)-50);

end;;
нужно создать function чтоб определяла Одномерноый массив из максимальных элементов столбцов и формировала новый одномерный массив!
Даже не знаю что и сказать. Это вы сами такое написали? Сможете прокомментировать?
Я здесь вижу что объявляется двумерный массив с именем "massiv", но заполняется чтото с именем "sg1" - включая свои экстрасенсорные способности предполагаю что это TStringGrid ?
Задача всё ещё непонятна... В двумерном массиве "massiv" нужно найти максимальные элементы? Тогда почему он нигде не заполняется? В таком виде как сейчас его размер 0х0 (ноль на ноль), то есть искать нечего.
Или же вам нужно найти максимальные элементы в некоем "sg1"? Но в таком случае это никакой не двумерный массив - у массивов никаких "Cells" не бывает.
И какое отношение к задаче имеют эти функции "matrix" и "max" которые импортируются из какой-то загадочной "mas.dll"?
Ответить с цитированием
  #6  
Старый 08.06.2012, 00:08
MiraLaklamon MiraLaklamon вне форума
Новичок
 
Регистрация: 07.06.2012
Сообщения: 59
Версия Delphi: 6, 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от MiraLaklamon
Я здесь вижу что объявляется двумерный массив с именем "massiv"
Ой! Да здесь даже не массив объявляется, а всего лишь тип двумерного массива для функций "matrix" и "max"... А где же тогда сам двумерный массив?
Ответить с цитированием
  #7  
Старый 08.06.2012, 00:44
Andruxa Andruxa вне форума
Прохожий
 
Регистрация: 11.05.2011
Сообщения: 7
Репутация: 10
По умолчанию

вот программа! но там Подпрограммы обработки двухмерного массива: поиск минимума (максимума), перестановка столбцов (строк) с заданными номерами!!!
а мне нада... Подпрограммы обработки двухмерного массива: формирование одномерного массива из максимальных элементов столбцов, формирование одномерного массива из сумм элементов строк
Вложения
Тип файла: rar лаба6.rar (724.3 Кбайт, 2 просмотров)
Ответить с цитированием
  #8  
Старый 08.06.2012, 00:57
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Никак чужой вариант лабораторной?
Страдалецъ уже написал и весь алгоритм:
Цитата:
1. Создаете одномерный массив размерностью в количество столбцов.
2. Пробегаетесь в цикле по всем столбцам вашего двумерного массива и записываете найденное максимальное значение в новый одномерный массив для каждого столбца. Выводите на печать результат если необходимо.
Вторая задача почти идентична первой, но не ищете максимум, а просто накапливаете сумму в новый одномерный массив для каждой строки.
и что делать, если делать ничего не хочется:
Цитата:
За халявой в работу велком.
(имеется в виду раздел форума "Работа", где производится заказ программ).
Тут не богадельня, а место получения знаний.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #9  
Старый 08.06.2012, 01:12
Andruxa Andruxa вне форума
Прохожий
 
Регистрация: 11.05.2011
Сообщения: 7
Репутация: 10
По умолчанию

одномерный массив создавать в БИБЛИОТЕКИ ?
Ответить с цитированием
  #10  
Старый 08.06.2012, 01:29
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Можно и в библиотеке, можно и в главной программе. Не важно.
DLL загружается в то же адресное пространство, что и сама программа, следовательно, динамически созданный массив будет доступен обоим.
Одно НО: нельзя создавать фиксированный массив как локальную переменную в функции библиотеки, т.к. вернуть его в вызвавшую программу не получится.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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