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

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

Войти
Регистрация
Восстановить пароль
 
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
#1

Несколько минимальных элементов матрицы записать в одномнерой массив - C++

28.01.2013, 02:21. Просмотров 359. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток,в общем задача состоит из нескольких этапов
1 создаем матрицу 6 на 6
2 преобразовываем её по заданному правилу
3 получаем одномерный массив с элементам матрицы,а именно последний элемент массива должен быть сумой 6 строки матрицы,а первые 5-минимальными элементами из 1 5 строки
4 преобразовываем полученный одномерный массив опять таки по заданной функции- произведение 6(всех эл.массива) раз экспоненты в степени полученного одномерного массива.
не получается сделать 3 шаг и естественно 4,вот код помогите дополнить пожалуйста.
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 <iomanip>
#include <cmath>
 
using namespace std;
 
#define n 6
 
int main(){
    setlocale(0,"");
    float A[n][n],B[n],V[n],sum;
    int i,j;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            A[i][j]=((rand() % 20-10));
        cout<<"Оригинальная матрица\n";
        for(i=0;i<n;i++){
            for(j=0;j<n;j++)
            cout<<setprecision(3)<<setw(3)<<A[i][j]<< " ";
            cout<<endl; 
        }
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                A[i][j]=2/3.5*j-j+exp(0.2)-i*i;
                cout<<"Перестроенная матрица\n";
            for(i=0;i<n;i++){
                for(j=0;j<n;j++)
                cout<<setprecision(3)<<setw(4)<<" "<<A[i][j];
            cout<<endl;
}
            cout<<"Полученные компоненты вектора\n";
            sum=0;
            for(i=5;;)
                for (j=0;j<n;j++)
                sum+=A[i][j];
            B[5]=sum;
            for(i=0;i<5;i++){
                B[i]=2;
                cout<<B[i]<<endl;}
            cout<<"Значение U=g(x)\n";
            for(i=1;i<=n;i++)
                V[i]*=exp(B[i]);
            cout<<V[i];
            system("pause");
            return 0;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 02:21     Несколько минимальных элементов матрицы записать в одномнерой массив
Посмотрите здесь:

Найти произведение минимальных по модулю элементов столбцов матрицы C++
Создать массив из минимальных элементов строк матрицы C++
Найти произведение минимальных элементов каждой строки матрицы C++
C++ Записать в другой массив строку, составленную из сумм отрицательных элементов столбцов матрицы
C++ Найти максимум среди минимальных элементов строк матрицы
C++ Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов
C++ Для каждого столбца матрицы N*N подсчитать сумму отрицательных элементов и записать данные в новый массив
C++ Для каждой строки матрицы подсчитать сумму элементов, вне заданного интервала, записать данные в новый массив
C++ Матрицы. Найти кубические корни минимальных элементов столбцов и вывести новый массив с этими значениями
Одномерный массив из минимальных положительных значений каждой строки матрицы C++
Найти сумму минимальных элементов каждого столбца заданной матрицы. C++
C++ Массив из минимальных элементов матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6676 / 3857 / 511
Регистрация: 29.11.2010
Сообщений: 10,217
28.01.2013, 04:27     Несколько минимальных элементов матрицы записать в одномнерой массив #2
Не понял, что вы хотели сказать в 4-м пункте, вот:
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <clocale>
#include <cmath>
 
int main()
{
    const int N = 6;
    setlocale(LC_ALL, "");
    std::srand(time(0));
    float A[N][N], B[N], sum = 0;
    std::cout << "Оригинальная матрица\n";
    for (int i=0; i < N; i++)
    {
        for (int j=0; j < N; j++)
        {
            A[i][j] = rand() % 20 + 10;
            std::cout << A[i][j] << " ";
        }
        std::cout << std::endl;
    }
    std::cout << "\nПерестроенная матрица\n";
    for (int i=0; i < N; i++)
    {
        float min = A[i][0];
        for (int j=0; j < N; j++)
        {
            A[i][j] = 2/3.5*j - j + exp(0.2) - i*i;
            std::cout << std::fixed << std::setprecision(2) << std::left
                << std::setw(6) << A[i][j] << " ";
            if (i == N - 1)
                sum += A[i][j];
            else if (A[i][j] < min)
                min = A[i][j];
        }
        std::cout << std::endl;
        B[i] = (i == N - 1 ? sum : min);
    }
    std::cout << "\nСформированный массив\n";
    for (int i=0; i < N; i++)
    {
        std::cout << B[i] << " ";
        B[i] *= exp(B[i]);
    }
    std::cout << "\n\nПосле умножения\n";
    for (int i=0; i < N; i++)
        std::cout << B[i] << " ";
}
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
17.02.2013, 18:58  [ТС]     Несколько минимальных элементов матрицы записать в одномнерой массив #3
вопрос всем как сделать что бы первые 5 элементов были минимальные элементы матрицы А?
в 6 элементе должна быть сумма последнего столбца,(это я уже сделал)
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
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cmath>
#include <algorithm>
 
#define N 6
 
using namespace std;
 
int main()
{
    
    setlocale(0,"");
    srand(time(0));
    float A[N][N], B[N], sum=0;
    float Z[N*N];
    
    cout << "\nПолученная матрица\n";
    for (int i=0; i < N; i++)
        for (int j=0; j < N; j++)
        {
            A[i][j] = 2/3.5*j - j + exp(0.2) - i*i;
 
        }
        for (int i=0; i < N; i++){
            float min = A[i][0];
            for (int j=0; j < N; j++)
            {
                cout << fixed << setprecision(2) << left
                    << setw(6) << A[i][j] << " ";
                if (j == N - 1)
                    sum += A[i][j];
                else if (A[i][j] < min)
                    min = A[i][j];
            }
            cout << endl;
            B[i] = (i == N - 1 ? sum : min);
        }
    
    cout << "\nВектор X\n";
    for (int i=0; i < N; i++)
    {
        cout << B[i] << " ";
        B[i] *= exp(B[i]);
    }
    cout << "\n\nФункция U=g(x)\n";
    for (int i=0; i < N; i++)
        cout << B[i] << " "<<endl;
    system("pause");
    return 0;
}
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
18.02.2013, 19:34  [ТС]     Несколько минимальных элементов матрицы записать в одномнерой массив #4
ну так подскажет кто?
Yandex
Объявления
18.02.2013, 19:34     Несколько минимальных элементов матрицы записать в одномнерой массив
Ответ Создать тему
Опции темы

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