1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 10
1

Рассматривая каждую строку прямоугольной матрицы как вектор, найти номера векторов-строк, для которых модуль их скалярного произведения S имеет максим

21.12.2011, 21:20. Показов 1165. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Рассматривая каждую строку прямоугольной матрицы как вектор, найти номера векторов-строк, для которых модуль их скалярного произведения S имеет максимальное значение.

в программе 3 массива: один перебирает матрицу по столбцам, а два других по строкам попарно. Помогите пожалуйста с расставлением скобок(скорее всего в них ошибка). А то программа выдаёт только 4 значения, а должна 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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
const int M=5;
const int N=4;
 
int main()
{ int i, j, i1, P[M][N], X, num1, num2, Xmax=-1000;
  for(i=0; i<M; i++)
  for(j=0; j<N; j++)
  P[i][j]=rand()%8;
  printf("Matrix P\n");
  for (i=0; i<M; i++){ 
      for (j=0; j<N; j++)
          printf("%4d", P[i][j]);
          printf("\n");
    }
     for(j=0; j<N; j++)
     {
     for(i=0; i<M-1; i++)
              for(i1=i+1; i1<M; i1++)
                          X+=P[i][j]*P[i1][j];     
                          printf ("\n\n%4d", X);             
     }
     if (X>Xmax) {Xmax=X; num1=i; num2=i1;}
     printf ("\n\n%d   %d   %d", X, num1, num2);
getch();
return 0;
}
 Комментарий модератора 
Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2011, 21:20
Ответы с готовыми решениями:

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

Создать собственный модуль "Вычисление скалярного произведения векторов в 3-меpном пространстве"
Создать собственный модуль и программу, использующую этот модуль. Вычисление скалярного...

Определить номера строк прямоугольной матрицы, хотя бы один из которых равен k
Необходимо составить программу (консольное приложение). Определить номера строк прямоугольной...

ScalarProduct для вычисления скалярного произведения двух векторов
Написать программу для проверки работы процедуры ScalarProduct для вычисления скалярного...

3
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 21:46 2
Предполагаю, строки 25 и 26 необходимо поменять местами.
1
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 10
21.12.2011, 21:50  [ТС] 3
поменял, всё равно 4 значения выдаёт
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
21.12.2011, 22:12 4
Не так вы делаете
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int summa (int mt[][COLUMNS], int i)
{
    int sum = 0;
    int j;
    
    for ( j = 0 ; j < COLUMNS ; ++j )
        sum += mt[i][j];
        
    return sum;
}
 
// считаем
max = summa (matr, 0);
for ( i = 1 ; i < ROWS ; ++i )
    if ( summa (matr, i) > max )
        max = summa (matr, i);
 
for ( i = 1 ; i < ROWS ; ++i )
    if ( summa (matr, i) == max )
        printf ("\n %d", i);
Добавлено через 10 минут
Под "скалярным произведение" я понимал обычное произведение элементов строки матрицы.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2011, 22:12
Помогаю со студенческими работами здесь

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

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

Написать рекурсивную программу для определения скалярного произведения двух векторов
Напишите рекурсивную программу для определения скалярного произведения двух векторов. помогите...

Напишите рекурсивную программу для определения скалярного произведения двух векторов
Напишите рекурсивную программу для определения скалярного произведения двух векторов.

Определить номера тех строк матрицы, у которых знак произведения их элементов отрицателен
Задана матрица с 2 столбцами и N строками. Определить номера тех строк, у которых знак произведения...

Программа для расчета скалярного произведения векторов по заданной формуле, используя массивы
Даны два вектора X и Y состоящие из N компонентов {Xn} и {Yn}, вычислить скалярное произведение по...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru