Помогите решить задачку

  • Автор темы -
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Гость
#1
Помогите бедному студенту решить задачку на C или Basic, без разницы.
Хотя бы сами процедуры, без ввода данных.

Дана матрица {Aij}, i=1..10, j=1..10. Найти максимальное расстояние между строками матрицы. Расстояние Rmn определяется по формуле: |k-l|, где k - № стобца, где расположен максимальный элемент m-ой строки, l - № стобца, где расположен максимальный элемент n-ой строки. Если таких элементов в строке несколько, то взять первый из них.

Вот алгоритм задачи:
1)В первой строке матрицы найти максимальный элемент. Запомнить номер столбца, в котором он находится, напр. - 5.
2)Во второй строке матрицы найти максимальный элемент. Запомнить номер столбца, в котором он находится, напр. - 2.
3)Следуя формуле из условия |k-l|, вычитаем из пяти два, т.е. 5-2=3. Это первое расстояние.
4)Проделать такие же операции для всех возможных комбинация строк, т.е. 1-2, 1-3, 1-4, 2-1, 2-2, и т.д.
5)Из всех расстояний выбрать максимальное.

Зарание спасибо :)
 
P

Pasha

Гость
#2
Для: Семен Семеныч
Подсказка по теме - достаточно найти только максимальный и минимальный номера столбцов и вычесть из друг из друга.
Например вот так:
#include <algorithm>
int getmaxdist(int **a,int aa,int aaa){int aaaa=-1,aaaaa=aaa;for(int aaaaaa=0;aaaaaa<aa;aaaaaa++){int aaaaaaa=a[aaaaaa][0],aaaaaaaaa=0;for(int aaaaaaaa=0;aaaaaaaa<aaa;aaaaaaaa++){if(a[aaaaaa][aaaaaaaa] > aaaaaaa){aaaaaaa=a[aaaaaa][aaaaaaaa];aaaaaaaaa=aaaaaaaa;}}aaaa=std::max(aaaa,aaa
aaaaaa);aaaaa=std::min(aaaaa,aaaaaaaaa);}return aaaa-aaaaa;}
Сорри что без тэгов кода - они форум распирают.
 
P

Pasha

Гость
#4
Для: European
Обижаешь. Ручная работа.
Кстати, форум глючит. Заменятет > на &gt;
 
Статус
Закрыто для дальнейших ответов.