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

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

Восстановить пароль Регистрация
 
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
14.10.2012, 14:58     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #1
Задача заключается в следующем:
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;   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 14:58     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Посмотрите здесь:

C++ Поменять местами столбец матрицы с номером 1 и последний из столбцов, содержащий только положительніе элементы
C++ Поменять местами столбец матрицы с номером 1 и последний из столбцов, содержащий только положительные элементы
C++ Вставить после столбцов,содержащий максимальный элемент массива,столбец из нулей.
Найти скалярное произведение матрицы строки на столбец C++
Найти количество столбцов, похожих на последний столбец данной матрицы. C++
C++ В матрице имеется столбец в котором разность между максимальным элементом и среднем арифметическим больше первого элемента найти этот столбец и замети
Поменять местами столбцы матрицы: столбец, содержащий максимальный элемент матрицы, и столбец, содержащий минимальный элемент матрицы. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.10.2012, 15:44     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #2
min=a ошибка не указаны индексы

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

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

Добавлено через 3 минуты
замени endl на \n
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
14.10.2012, 15:53  [ТС]     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #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-последовательность
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.10.2012, 15:58     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #4
min=a[i][j] так как а это массив а не просто переменная
да и где if(p<min); уберите ; а то пустой оператор получается

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

cout <<"Vvtlbnt n = \n"
cout <<"Vivod matrici:\n"
После всех изменений которые вы посоветовали сделать, осталась 1 ошибка
(16): warning C4244: =: преобразование "double" в "int", возможна потеря данных.
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.10.2012, 16:15     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #6
попробуй массив a[10][10] сделать типом double а не int
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
14.10.2012, 16:36  [ТС]     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #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: индекс имеет нецелый тип
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.10.2012, 17:15     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #8
поменяй index_min с double на int
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
14.10.2012, 17:19  [ТС]     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #9
Цитата Сообщение от Евгений89 Посмотреть сообщение
поменяй index_min с double на int
Огромное спасибо все заработало!!!
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.10.2012, 17:28     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #10
у меня не компилируется среда замудила библиотека <math.h> не признает sqrt)))))))))
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
14.10.2012, 17:45  [ТС]     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #11
Цитата Сообщение от Евгений89 Посмотреть сообщение
у меня не компилируется среда замудила библиотека <math.h> не признает sqrt)))))))))
Программа компилируется нормально, ошибок не выбивает, после запуска и ввода числа показывает окошко? Что означает данное сообщение http://cs306709.userapi.com/v3067095...LpLYRAMPQQ.jpg
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2012, 10:07     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Еще ссылки по теме:

Среди столбцов матрицы, содержащих только элементы в диапазоне от 0 до 10, найти столбец с максимальной суммой C++
Найти номер первого из ее столбцов содержащих максимальное количество одинаковых элементов и вывести этот столбец вместе с номером C++
в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его как вектор на матрицу А C++
Среди столбцов заданной целочисленной матрицы, заполненной случайными числами, порядка n* n, найти столбец с элементами C++
C++ Найти первый столбец матрицы не содержащий отрицательных элементов

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

Или воспользуйтесь поиском по форуму:
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
20.10.2012, 10:07     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X #12
впервые такое окошко вижу , даже не знаю что сказать
Yandex
Объявления
20.10.2012, 10:07     Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Ответ Создать тему
Опции темы

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