Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Гость Сема
Сообщений: n/a
#1

Найти максимальное расстояние между строками матрицы - C++

15.11.2007, 18:43. Просмотров 1785. Ответов 1
Метки нет (Все метки)

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

Дана матрица {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)Из всех расстояний выбрать максимальное.

Зарание спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2007, 18:43     Найти максимальное расстояние между строками матрицы
Посмотрите здесь:

Найти максимальное расстояние между точками на плоскости - C++
Даны координаты n точек на плоскости: (X1, Y1), ..., (Xn, Yn) (n ≤ 30). Найти номер пары точек, расстояние между которыми самое большое...

Определить минимальное и максимальное расстояние между функциями - C++
Значения функций f1(x)=3x3+2x2+x+5 и f2(x)=2x3-4x2+2x-5 определены в точках x=x0(hx)xn . Определить минимальное и максимальное расстояние...

расстояние между элементами матрицы - C++
Можно лт на С написать программу которая вычисляет расстояние между элементами матрицы ? если да то объясните пожалуйста:)

Найти расстояние между отрезками - C++
Даны координаты точек двух отрезков, найти расстояние между ними.

Найти расстояние между символами с1 и с2 - C++
я смог сделать только что бы подсчитывались все символы в строке, то есть общее количество #include <iostream> #include <conio.h> ...

Найти расстояние между отрезком AB и прямой - C++
помогите написать, знаю как это в теории сделать, но не знаю как на си... Найти расстояние между произвольно заданными на плоскости...

Найти наибольшее расстояние между точками - C++
#include <cstdlib> #include <iostream> #include <Math.h> using namespace std; double rast(double x1, double x2, double y1,...

Найти наибольшее расстояние между точками - C++
Здравствуйте. Пользователь задает координаты нескольких точек, программа должна определить, между какими точками наибольшее расстояние....

Как найти расстояние между 2 линиями (OpenCV)? - C++
Доброго времени Суток! у меня следующий вопрос. я с камеры получаю картинку с помщью OPENCV, и с помощью функций Canny и ROI получаю...

Найти расстояние между двумя гексагональными ячейками - C++
Всем привет. Задание: Есть текстовый файл, из которого беруться данные для input`a: А также картинка: В текстовом файле...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гость
Сообщений: n/a
22.11.2007, 17:36     Найти максимальное расстояние между строками матрицы #2
Что-то ты с алгоритмом переборщил, можно в разы проще.
Вот исходный код для твоей задачи (для матрицы 10х10 заполненной рандомными значениями):
C++
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int mas[10][10];
int mas2[10];
 
void findDistance(int mas[10][10])
{
  int i,j;
  int max = 0;
  int col = 0;
  for (i = 0; i < 10; i++)
  {
    max = 0;
    for (j = 0; j < 10; j++)
    {
      if (mas[i][j] > max)
      {
        max = mas[i][j];
        col = j;
      }
    }
    mas2[i] = col;
  }
}
 
int main()
{
  int temp, i, j;
 
  srand((unsigned int)time((time_t *)NULL));
 
  for (i = 0; i < 10; i++)
    for (j = 0; j < 10; j++)
      mas[i][j] = rand();
 
  for (i = 0; i < 10; i++)
  {
    for (j = 0; j < 10; j++)
      printf("%5d ", mas[i][j]);
    printf("\n");
  }
  findDistance(mas);
 
  for (i = 0; i < 10; i++)
    printf("%5d", mas2[i]);
 
  printf("\n");
  for(i = 9; i > 0; i--)
    for(j = 0; j < i; j++)
      if(mas2[j] > mas2[j+1])
      {
        temp = mas2[j];
        mas2[j] = mas2[j+1];
        mas2[j+1] = temp;
      }
 
  printf("Max dist = %d\n", mas2[9]-mas2[0]);
  return 0;
}
Yandex
Объявления
22.11.2007, 17:36     Найти максимальное расстояние между строками матрицы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru