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

вектор массива - C++

Восстановить пароль Регистрация
 
BackUP
0 / 0 / 0
Регистрация: 23.11.2009
Сообщений: 24
10.02.2010, 01:08     вектор массива #1
Доброй ночи.
Из матрицы получить вектор по заданному правилу:
элементами вектора Х принять элементы столбца матрицы, которые имеют минимальную сумму элементов и отсортированного в порядке возрастания.

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
#include <iostream.h>
#include <math.h>
#define k 5
#define n 6
 
void main()
 { 
     int mass[n][k];
     int i, j;
 
        for (i=0; i<n; i++){
            for (j=0; j<k; j++){
            mass[i][j]=pow((i-2*j),3) - (8.9*j+2)*i;            
        }
    }
            
    for (i=0; i<n; i++){
        for (j=0; j<k; j++){
            cout<<mass[i][j]<<" ";
        }
        cout<<endl;
    }                         
 
}
какой цикл написать чтоб сумму столбцов сравнивало?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2010, 01:08     вектор массива
Посмотрите здесь:

C++ Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы
Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы C++
Равны ли элементы массива(вектор)? C++
C++ Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.
C++ инициализировать вектор значениями массива
C++ Доработать умножение массива на вектор
Создать вектор, элементы которого равны произведению max и min в строке массива C++
Проверить можно ли выразить линейно один из векторов массива через заданный вектор C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
10.02.2010, 03:53     вектор массива #2
BackUP,
как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    //Считаем суммы
    int sum[k];
    for(j=0; j<k; ++j)
        for(i=0; i<n; ++i)
            sum[j]+=mass[i][j];
 
    //Ищем номер столбца с минимальной суммой
    int t=0;
    int min=sum[t];
    for(i=1; i<k; ++i)
        if(sum[i]<min)
        {
            min=sum[i];
            t=i;
        }
 
    //Формируем вектор
    int vec[n];
    for(i=0; i<n; ++i)
        vec[i]=mass[i][t];
Алгоритмы сортировки найдешь здесь

Добавлено через 18 минут
А вот так будет даже лучше:
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
    //Считаем суммы
    int t;
    int min;
    int sum[k];
    for(j=0; j<k; ++j)
    {
        for(i=0; i<n; ++i)
            sum[j]+=mass[i][j];
        //Ищем номер столбца с минимальной суммой
        if(j==0)
        {
            t=j;
            min=sum[t];
        }
        else 
            if(sum[j]<min)
        {
            min=sum[j];
            t=j;
        }
    }
 
    //Формируем вектор
    int vec[n];
    for(i=0; i<n; ++i)
        vec[i]=mass[i][t];
Yandex
Объявления
10.02.2010, 03:53     вектор массива
Ответ Создать тему
Опции темы

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