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

Создать массив, составленный из суммы элементов каждой строки матрицы - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 18:40     Создать массив, составленный из суммы элементов каждой строки матрицы #1
Создать массив, составленный из суммы элементов каждой строки. Вывести на дисплей полученный массив. После этого из исходной матрицы создать новую следующим образом: если первый элемент каждой строки является положительным числом, необходимо заменить все ее элементы значениями первого элемента этой же строки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2010, 18:40     Создать массив, составленный из суммы элементов каждой строки матрицы
Посмотрите здесь:

C++ Вычислить и запомнить суммы и числа элементов каждой строки матрицы
C++ Вычислить суммы элементов каждой строки матрицы, определить наименьшее значение этих сумм и ...
C++ Вывести на экран суммы элементов каждой строки матрицы.
C++ Вывести на экран суммы элементов каждой строки матрицы
Найти суммы элементов каждой строки матрицы А и наибольшую из этих сумм C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 21:06  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #21
А через stdio можно их заменить ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 21:15     Создать массив, составленный из суммы элементов каждой строки матрицы #22
Используем алгоритмы до конца!)
Код.
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 <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <numeric>
 
int main()
{
   // size
   const int NROW = 10;
   const int NCOL = 10;
 
   // generate matrix
   int nmatrix[NROW][NCOL];
   for(int i = 0; i < NROW; ++i)
      for(int j = 0; j < NCOL; ++j)
         nmatrix[i][j] = rand() % 9;
 
   for(int i = 0; i < NROW; ++i) {
      std::copy(nmatrix[i], nmatrix[i] + NCOL, std::ostream_iterator<int>(std::cout, " "));
      std::cout << std::endl;
   }  std::cout << std::endl;
 
   // sum rows to array
   int * narray = new int [NROW];
   for(int i = 0; i < NROW; ++i)
      narray[i] = std::accumulate (nmatrix[i], nmatrix[i] + NCOL, 0);
 
   std::copy(narray, narray + NROW, std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl << std::endl;
 
   delete [] narray;
 
   // update matrix
   for(int i = 0; i < NROW; ++i)
      if(nmatrix[i][0] > 0)
         std::fill_n(nmatrix[i], NCOL, nmatrix[i][0]);
 
   for(int i = 0; i < NROW; ++i) {
      std::copy(nmatrix[i], nmatrix[i] + NCOL, std::ostream_iterator<int>(std::cout, " "));
      std::cout << std::endl;
   }  std::cout << std::endl;
 
   system("pause");
   return 0;
}


Добавлено через 1 минуту
kypiwindy, а ваш последний вариант, почему не подходит? Мы же вроде бы все ошибки исправили.
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 21:18  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #23
Дурно потраченное время

Добавлено через 2 минуты
выводило вот это 65654445646-776868
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 21:27     Создать массив, составленный из суммы элементов каждой строки матрицы #24
Вот, я вашу программу чуть-чуть изменил

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
#include <stdio.h>
#include <stdlib.h>
int main ()
{
    const int  Row=10,Column=10;
    int MAS[Row][Column];
 
    for (int i=0; i<Row; i++) { // заполняем и выводим на экран.
        for (int j=0; j<Column; j++) {
            MAS[i][j]=rand()%50;
            printf ("%d  ", MAS[i][j]); }
        printf ("\n"); }
    printf ("\n");
 
    int MAS_sum[Row];
    int sum=0;
 
    for (int i=0; i<Row; i++) { // считаем суммы и выводим на экран.
        sum=0;
        for (int j=0; j<Column; j++)
            sum+=MAS[i][j];
        MAS_sum[i]=sum;
        printf("%d   ",sum); }
    printf ("\n\n");
 
    for (int i=0; i<Row; i++) // изменяем первоначальную матрицу.
        if (MAS[i][0]>0)
            for (int j=0; j<Column; j++)
            MAS[i][j]=MAS[i][0];
 
    for (int i=0; i<Row; i++) {
        for (int j=0; j<Column; j++)
            printf ("%d  ", MAS[i][j]);
        printf ("\n"); }
 
    printf ("\n");
    system ("pause");
    return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 21:35     Создать массив, составленный из суммы элементов каждой строки матрицы #25
Цитата Сообщение от neske Посмотреть сообщение
C++
1
narray[i] = std::accumulate (nmatrix[i], nmatrix[i] + NCOL, 0)
;
забыл про нее, пытался вспомнить и не осилил

Цитата Сообщение от neske Посмотреть сообщение
C++
1
2
3
for(int i = 0; i < NROW; ++i)
 for(int j = 0; j < NCOL; ++j)
 nmatrix[i][j] = rand() % 9;
может сюда std::generate_n пришпилить?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 21:41     Создать массив, составленный из суммы элементов каждой строки матрицы #26
Можно-можно)
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 21:46  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #27
Та просто препод не поверит мы не учили stdlib
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 21:49     Создать массив, составленный из суммы элементов каждой строки матрицы #28
kypiwindy, ну вы же человек разумный !)
Уберите, посмотрите что изменится.
Увидите что выскочит две ошибки.
-warning: unused variable 'system'
-warning: unused variable 'rand()'

Вместо рандома ставите то что вы писали, ручками когда заполняли.
А задержку экрана и вовсе убираете, если не изучали.
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 21:59  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #29
Что делать с этим
for(int i = 0; i < NROW; ++i) {
std::copy(nmatrix[i], nmatrix[i] + NCOL, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
} std::cout << std::endl;

Добавлено через 4 минуты
То же самое с iostream .Как то по другому можно записать ?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 22:01     Создать массив, составленный из суммы элементов каждой строки матрицы #30
Зачем вам это? Я же вам предложил вариант в посте #24 без непонятного вам?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:01     Создать массив, составленный из суммы элементов каждой строки матрицы #31
Цитата Сообщение от kypiwindy Посмотреть сообщение
Что делать с этим
C++
1
2
3
4
5
for(int i = 0; i < NROW; ++i) {
   for(int j = 0; j < NCOL; ++j)
      printf("%d ", nmatrix[i][j])
   printf("\n")
}
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 22:06  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #32
А вот это :
std::copy(nmatrix[i], nmatrix[i] + NCOL, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
} std::cout << std::endl;
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2010, 22:08     Создать массив, составленный из суммы элементов каждой строки матрицы #33
Я ушел под стол.
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 22:09  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #34
мда ...
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.05.2010, 22:18     Создать массив, составленный из суммы элементов каждой строки матрицы #35
Цитата Сообщение от kypiwindy Посмотреть сообщение
А вот это :
я же написал уже. это часть того же куска. весь тот цикл, заменяется двумя обычными.
это просто вывод матрицы на экран.

не мучайтесь - Создать массив, составленный из суммы элементов каждой строки матрицы

Добавлено через 5 минут

Не по теме:

Цитата Сообщение от neske Посмотреть сообщение
fasked, за последующие вопросы по copy/fill_n и .т.п отвечаешь ты)
эх

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2010, 22:22     Создать массив, составленный из суммы элементов каждой строки матрицы
Еще ссылки по теме:

Вычислить суммы элементов каждой строки матрицы C++
Как вычислить суммы положительных элементов каждой строки матрицы? C++
C++ Найти суммы элементов каждой строки матрицы и отсортировать

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

Или воспользуйтесь поиском по форуму:
kypiwindy
349 / 263 / 98
Регистрация: 29.05.2010
Сообщений: 678
Записей в блоге: 1
Завершенные тесты: 3
29.05.2010, 22:22  [ТС]     Создать массив, составленный из суммы элементов каждой строки матрицы #36
Огромное спасибо...
Yandex
Объявления
29.05.2010, 22:22     Создать массив, составленный из суммы элементов каждой строки матрицы
Ответ Создать тему
Опции темы

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