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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 16:23   #1
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
Сообщение Delphi 7 Обработка данных в многомерных массивах.

1. Подсчитать количество одинаковых чисел под главной диагональю матрицы
2. Сформировать квадратную матрицу (N>4). Найти максимальный из отмеченных элементов.
Изображения
Тип файла: jpg матрица.jpg (11.0 Кб, 107 просмотров)
Alkifr вне форума Ответить с цитированием
Старый 26.04.2010, 16:42   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

По первой задаче: можно сформировать одномерный массив из поддиагональных элементов матрицы, отсортировать его и, начиная с первого элемента по предпоследний (во вновь созданном массиве) сравнивать два соседних элемента на равенство и подсчитывать это количество...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 26.04.2010 в 17:54.
Grag вне форума Ответить с цитированием
Старый 26.04.2010, 16:58   #3
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
По умолчанию

перебрать все под главной диагональю можно так?

for I := 0 to Length(MyArray) - 1 do
begin
for J: = 0 to I - 1 do
begin
MyArray[I][J] - как раз элемент под главной диагональю.
end;
end;
Alkifr вне форума Ответить с цитированием
Старый 26.04.2010, 17:12   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Пробуй, только учти, что
Функция Length ( S ): Integer;
Модуль: System
Описание
Функция возвращает фактическое количество символов в строке или количество элементов массива. Параметр S - выражение типа string или массив элементов.
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 26.04.2010, 17:28   #5
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
По умолчанию

не получается, может кто как по-другому подскажет?
Alkifr вне форума Ответить с цитированием
Старый 02.05.2010, 11:41   #6
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
По умолчанию

Народ, помогите с решением этой задачки, плиз!!!
Alkifr вне форума Ответить с цитированием
Старый 04.05.2010, 15:22   #7
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
По умолчанию

Никто что ли не знает, как решать эту задачу???
Alkifr вне форума Ответить с цитированием
Старый 04.05.2010, 15:24   #8
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

давай я попробую.
Я забыл что есть что главная диагональ (укажи как идет я напишу решение про одинаковые числа)
kakawkin вне форума Ответить с цитированием
Старый 04.05.2010, 15:29   #9
Alkifr
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 22
По умолчанию

от а(00) до а(nn)
Alkifr вне форума Ответить с цитированием
Старый 04.05.2010, 15:49   #10
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

Program tt;
Uses Crt;

Var
X { Данный массив }
: array [1..256] of real;

y { Искомое число }
: real;

i, { Переменная цикла, индекс массива }
j, { Переменная цикла }
N, { Размер массива }
max, { Максимальное число повторов искомого числа }
S { Количество одинаковых чисел }
: integer;

Begin
ClrScr;

{
ввод массива
}
Write ('Сколько элементов в массиве: ');
ReadLn (N);
if N <= 1
then
begin
WriteLn;
WriteLn ('Решать задачу не имеет смысла...');
ReadLn;
Exit;
end;

WriteLn;
WriteLn ('Введите элементы массива: ');
for i := 1 to N do
begin
Write ('X [', i, '] = ');
ReadLn (X [i]);
end;
WriteLn;

{
просмотр элементов массива и подсчет одинаковых
}
max := 0;
S := 0;
for i := 1 to N - 1 do
begin
if S > max
then
begin
max := S;
y := X [i - 1];
end;
S := 1;
for j := i + 1 to N do
if X [i] = X [j]
then
S := S + 1;
end;

if S > max
then
begin
max := S;
y := X [j];
end;

{
печать результата
}
WriteLn;
WriteLn ('Число, повторяющееся максимальное число раз: ', y);
WriteLn ('Это число повторяется ', max, ' раз(а).');

ReadLn;
End.
kakawkin вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DelphiПаскаль.обработка многомерных массивов.сложные циклы kate-27 Помощь студентам 15 23.04.2010 22:03
обработка данных в многомерных массивах(Delphi) Namiko Помощь студентам 0 09.04.2010 19:55
Обработка данных Myagkiy Microsoft Office Excel 2 01.04.2009 10:26
Сортировка многомерных массивов С++ Perfect.Enemy Общие вопросы C/C++ 5 12.04.2008 16:39