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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Chaow
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 15
#1

Присвоить вектору значения сумм строк матрицы - C++

08.08.2013, 12:57. Просмотров 1342. Ответов 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
#include <conio.h>
#include <iostream>
#include <vector>
#include <math.h>
#include <ctime> // в ней функция time
 
using namespace std;
 
int main()
{
    srand(time(NULL)); // Инициализируем генератор случайных чисел. 
    int n = 0; 
    cin >> n; // Считываем с клавиатуры n
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
            cout << a[i][j] << " "; // Вывести элементы на консоль
        }
        cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
        {
            vector<int> v(n);
            for (int i=0; i<n; i++) v[i]=i+1;
            for (int i=0; i<n; i++) cout<<v[i]<<" ";
        }
    }
    // Удаление массива
    for (int i = 0; i < n; i++)
    {
        delete[]a[i]; // Удаляем каждый элемент
    }
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2013, 12:57     Присвоить вектору значения сумм строк матрицы
Посмотрите здесь:

Упорядочить по росту сумм элементов строк строки той матрицы, у которой больше нулевых строк - C++
Сидел думал над задачей почти всю ночь условия такие Даны три матрицы размером M x N. Упорядочить по росту сумм элементов строк строки ...

Матрицы: нахождение сумм положительных элементов строк каждой матрицы - C++
программирование с использованием процедур составить программу для нахождения сумм положительных элементов строк каждой матрицы...

Написать функцию подсчета сумм строк матрицы - C++
Написать функцию подсчета сумм строк матрицы. И проверить упорядочены ли они

Упорядочить строки матрицы по убыванию сумм элементов строк - C++
Пожалуйста помогите сделать так, чтобы программа работала так, как требуется: Дана матрица n*m. Упорядочить (переставить) строки матрицы...

Отсортировать строки матрицы по убыванию сумм элементов каждой строк - C++
Помогите решить задачу. Заданная статическая матрица B(N,N). Отсортировать ее строки по убыванию сумм элементов каждой строки....

Сформировать вектор из сумм элементов строк матрицы и найти их среднее геомтрическое - C++
Добрый вечер!!! Помогите пожалуйста с написанием программы на С++. Сама не понимаю в программировании а для курсача нужно! Пожалуйста!!! ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
08.08.2013, 17:11     Присвоить вектору значения сумм строк матрицы #2
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 <conio.h>
#include <iostream>
#include <vector>
#include <ctime> 
 
using namespace std;
 
int main()
{
    srand(time(NULL)); // Инициализируем генератор случайных чисел. 
    int n = 0; 
    cin >> n; // Считываем с клавиатуры n
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    // А дальше работа как с обычным массивом. 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10; // Каждый элемент случайному числу от 0 до 9
            cout << a[i][j] << " "; // Вывести элементы на консоль
        }
        cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли
     }
     vector<int> v;//лучше писать без размера. Если он будет пустой то он будет забит нулями по умолчанию.
     for (int i = 0; i < n; i++)
    {
        int sum(0);
        for (int j = 0; j < n; j++)
             sum += a[i][j];// сумма элементов в каждой строке
             v.push_back(sum);// заносим значение в контейнер      
     }
      cout<<"\n";
      for ( int i = 0;  i < v.size() ; i++ )
            cout<<v[i]<<" ";
      cout<<"\n";
    // Удаление массива
    for (int i = 0; i < n; i++)
    {
        delete[]a[i]; // Удаляем каждый элемент
    }
    getch();
}
fogfog
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 22
02.10.2013, 14:18     Присвоить вектору значения сумм строк матрицы #3
а можно переделать так что бы было не "элементы которого равны суммам элементов соответствующей строки" а элементы которого равны произведениям соответствующей строки?
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
02.10.2013, 14:28     Присвоить вектору значения сумм строк матрицы #4
Цитата Сообщение от fogfog Посмотреть сообщение
а можно переделать так что бы было не "элементы которого равны суммам элементов соответствующей строки" а элементы которого равны произведениям соответствующей строки?
а ты в программу вообще не вникал что ли? Просто скопипастил? Ну и на что ты тогда время теряешь? Ты не научишься ничему!

Добавлено через 4 минуты
Leshak, а зачем мешать в программе вектор на основе STL и матрицу, выделенную вручную через new?
Не легче задать матрицу так?
C++
1
vector<vector<int>> a;
Кроме того, если размер v известен, рекомендуется перед циклом пушбеков поставить
C++
1
v.reserve(n);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 17:34     Присвоить вектору значения сумм строк матрицы
Еще ссылки по теме:

Расположить строки матрицы в порядке невозрастания сумм модулей нечетных элементов строк - C++
Здравствуйте. Задача: Дана матрица действительных чисел размера n x m. Переформировать матрицу таким образом, чтобы ее строки...

Вычислить вектор сумм нечетных элементов четных строк матрицы целых чисел размером 6 × 6 - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { int a, i, j; int v; cout &lt;&lt; &quot;Vvedite massiv:&quot; &lt;&lt;...

Найти суммы положительных элементов строк матрицы и присвоить их элементам побочной диагонали - C++
помогите пожалуйста, не могу решить! Дан массив A. Найти суммы положительных элементов строк и присвоить их элементам побочной...

Для каждой матрицы вычислить сумму элементов строк и определить наименьшее значение этих сумм и номер соответствующей строки - C++
Даны матрицы А(4,5) и В(5,5). Для каждой матрицы вычислить сумму элементов строк и определить наименьшее значение этих сумм и номер...

Если значения переменных не равны, то присвоить им максимальное из значений, иначе присвоить им ноль - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если...

Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов - C++
Дана вещественная матрица A размером 5*4. Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов


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

Или воспользуйтесь поиском по форуму:
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
02.10.2013, 17:34     Присвоить вектору значения сумм строк матрицы #5
Leshak, а зачем мешать в программе вектор на основе STL и матрицу, выделенную вручную через new?
Не легче задать матрицу так?
Легче, кто бы спорил =)
Просто загвоздка в том, что ему надо было именно так. Мол. преподаватель захотел (с)
Я честно говоря делал на автомате. Потом спросил: а понимает ли он сам, то что написано выше. Ответ был такого рода:
Программа собрана копипастом, с разных тем )
Yandex
Объявления
02.10.2013, 17:34     Присвоить вектору значения сумм строк матрицы
Ответ Создать тему
Опции темы

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