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

Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X

14.10.2012, 14:58. Показов 1540. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача заключается в следующем:
1)Построить матрицу.
Матрицу построил, но она выводится в строку. Как вывести её нормально, по столбцам и строкам?
2)Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X.
Вроде сделал, но выбивает ошибки и не могу понять где мне и что надо исправить:
(16): warning C4244: =: преобразование "double" в "int", возможна потеря данных
(25): error C2440: =: невозможно преобразовать "int [10][10]" в "int"
(30): error C2061: синтаксическая ошибка: идентификатор "p"

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
#include <iostream>
#include <math.h>
using namespace std;
//Первая часть программы
int main()
{
    int i, j, n, p, min, index_min; 
    int a[10][10];
    cout << "Vvedite n<=10"<< endl;
    cin >> n;
    cout << endl << "Vivod matrici:" << endl;
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
            a[i][j] = (2 * sqrt(i + j) - 8.11*i*i + 5*j);
            cout << " " << a[i][j];
            }
    }
        //Вторая часть программы            
            int x[10];
                
            for ( i=0; i<n; i++)
        {
            min = a;
                p=1;
            for (j=0; j<n; j++)
            {
                p = (p * a[i][j]);
                    if p < min;
                    {
                        min = p;
                        index_min = j;
                    }
            }
        for ( i=0; i<n; i++)
        {
            x[i] = a[i][index_min];
                cout << " " << x[i];
            }
        }
        cout << endl;
    cin.get();
    cin.get();
    return 0;   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2012, 14:58
Ответы с готовыми решениями:

Найти столбец матрицы, содержащий минимальное произведение своих элементов
среди столбцов матрицы найти столбец, содержащий минимальное произведение своих элементов и принять...

Среди столбцов целочисленной матрицы А(н,м) найти столбец с минимальным произведением элементов
Среди столбцов целочисленной матрицы А(n,m) найти столбец с минимальным произведением элементов.

Среди столбцов целочисленной матрицы найти столбец с минимальным произведением элементов
Помогите пожалуйста с решением задач... 2) Среди столбцов целочисленной матрицы А(n,m) найти...

В матрице поменять местами первый столбец и столбец, содержащий минимальное количество нечетных элементов
1) дана матрица размера m*n поменять местами столбцы 1 и столбец, содержащий минимальное количество...

11
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
14.10.2012, 15:44 2
min=a ошибка не указаны индексы

if p< min должно быть в скобках

Добавлено через 2 минуты
и подключи #include <math.h>

Добавлено через 3 минуты
замени endl на \n
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.10.2012, 15:53  [ТС] 3
Цитата Сообщение от Евгений89 Посмотреть сообщение
min=a ошибка не указаны индексы

if p< min должно быть в скобках

Добавлено через 2 минуты
и подключи #include <math.h>

Добавлено через 3 минуты
замени endl на \n
1) Как указать индексы?
2)Исправил ошибка пропала.
3)Так библиотека math.h подключена. Вторая строчка программы
4) При замене endl на \n в 9 и 11 строке: error C2017: недопустимая escape-последовательность
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
14.10.2012, 15:58 4
min=a[i][j] так как а это массив а не просто переменная
да и где if(p<min); уберите ; а то пустой оператор получается

cout <<"Vvtlbnt n = \n"
cout <<"Vivod matrici:\n"
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.10.2012, 16:07  [ТС] 5
Цитата Сообщение от Евгений89 Посмотреть сообщение
min=a[i][j] так как а это массив а не просто переменная
да и где if(p<min); уберите ; а то пустой оператор получается

cout <<"Vvtlbnt n = \n"
cout <<"Vivod matrici:\n"
После всех изменений которые вы посоветовали сделать, осталась 1 ошибка
(16): warning C4244: =: преобразование "double" в "int", возможна потеря данных.
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
14.10.2012, 16:15 6
попробуй массив a[10][10] сделать типом double а не int
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.10.2012, 16:36  [ТС] 7
Цитата Сообщение от Евгений89 Посмотреть сообщение
попробуй массив a[10][10] сделать типом double а не int
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
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int i, j, n;  
    double a[10][10];
    cout << "Vvedite n<=10"<< \n;
    cin >> n;
    cout << \n << "Vivod matrici:";
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
            a[i][j] = (2 * sqrt(i + j) - 8.11*i*i + 5*j);
            cout << " " << a[i][j];
            }
    }
        double p, min, index_min;           
        double x[10];
                
            for ( i=0; i<n; i++)
        {
            min = a[i][j];
                p=1;
            for (j=0; j<n; j++)
            {
                p = (p * a[i][j]);
                    if (p < min)
                    {
                        min = p;
                        index_min = j;
                    }
            }
        for ( i=0; i<n; i++)
        {
            x[i] = a[i][index_min];
                cout << " " << x[i];
            }
        }
        cout << \n;
    cin.get();
    cin.get();
    return 0;
}
(38): error C2108: индекс имеет нецелый тип
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
14.10.2012, 17:15 8
поменяй index_min с double на int
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.10.2012, 17:19  [ТС] 9
Цитата Сообщение от Евгений89 Посмотреть сообщение
поменяй index_min с double на int
Огромное спасибо все заработало!!!
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
14.10.2012, 17:28 10
у меня не компилируется среда замудила библиотека <math.h> не признает sqrt)))))))))
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.10.2012, 17:45  [ТС] 11
Цитата Сообщение от Евгений89 Посмотреть сообщение
у меня не компилируется среда замудила библиотека <math.h> не признает sqrt)))))))))
Программа компилируется нормально, ошибок не выбивает, после запуска и ввода числа показывает окошко? Что означает данное сообщение http://cs306709.userapi.com/v3... RAMPQQ.jpg
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
20.10.2012, 10:07 12
впервые такое окошко вижу , даже не знаю что сказать
0
20.10.2012, 10:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2012, 10:07
Помогаю со студенческими работами здесь

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

Среди столбцов заданной целочисленной матрицы найти столбец с минимальным произведением элементов
уже 2 дня с ней мучаюсь. никак. еще и условие непонятное. вот она: Среди столбцов заданной...

Матрица: Среди столбцов целочисленной матрицы найти столбец с минимальным произведением элементов
Среди столбцов целочисленной матрицы А(n,m) найти столбец с минимальным произведением...

Среди нечетных столбцов матрицы найти столбец с максимальной суммой модулей элементов.
Составить программу на Паскале. Среди нечетных столбцов заданной целочисленной матрицы 5*4 найти...


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

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

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