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

Функции языка С++ - C++

Восстановить пароль Регистрация
 
Sasha S4k
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 7
24.02.2010, 09:05     Функции языка С++ #1
Задана матрица x(n,m). Сформировать вектор y(n), содержащий сумму элементов строк. Найти максимальную сумму строки. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2010, 09:05     Функции языка С++
Посмотрите здесь:

Функции языка С++ C++
C++ Стандартные и пользовательские функции языка С
Изменение языка C++
Функции языка с++ C++
C++ Функции языка с++ и считывание данных в массив
C++ Стандартные и пользовательские функции языка С
C++ Стандартные и пользовательские функции языка С
C++ Стандарт языка С++
Стандартные функции ввода/вывода языка Си C++
Перспективы языка C++
Когда использовать WinAPI, а когда функции языка? C++
C++ Синтаксис языка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
24.02.2010, 09:13     Функции языка С++ #2
Функция формирующая массив сумм элементов строк (вектор y(n)) тебе в помощь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int* FormY(const int* const* matrix, int n, int m)
{
  int* y = new int[n];
 
  for(int i = 0; i < n; ++i)
    y[i] = 0;
 
  for(int i = 0; i < n; ++i)
    for(int j = 0; j < m; ++j)
      y[i] += matrix[i][j];
 
  return y;
}
Sasha S4k
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 7
24.02.2010, 09:15  [ТС]     Функции языка С++ #3
Спасибо, выручил! я как раз это допереть не мог
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
24.02.2010, 09:16     Функции языка С++ #4
Sasha S4k, чуть поправил функцию, смотри выше.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
24.02.2010, 10:27     Функции языка С++ #5
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <numeric>
#include <iterator>
 
/*  
*   Задана матрица x(n,m). Сформировать вектор y(n), содержащий сумму элементов строк. 
*   Найти максимальную сумму строки.
*/
 
int main(){
    
    typedef std::vector<int> IntVec_t;
    
    const int n = 4;
    const int m = 3;
    
    std::vector<IntVec_t> x(n, IntVec_t(m));
    
    for ( int i = 0; i < n; ++i ){
        for ( int j = 0; j < m; ++j ){
            std::cout << "X[" << i << "][" << j << "] = ";
            std::cin >> x[i][j];
        }
    }
    
    IntVec_t row_sums;
    for ( std::vector<IntVec_t>::const_iterator i = x.begin(); i != x.end(); ++i ){
        int sum = (int)std::accumulate(i->begin(), i->end(), 0);
        row_sums.push_back(sum);
    }
    
    std::cout << std::endl;
    
    for ( int i = 0; i < n; ++i ){
        std::cout << "x[" << i << "]: ";
        std::copy(x[i].begin(), x[i].end(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << "SUM: " << row_sums[i] << std::endl;
    }
    std::cout << std::endl << "Max row: ";
    int max_index = (int)std::distance(row_sums.begin(), std::max_element(row_sums.begin(), row_sums.end()));
    
    std::copy(x[max_index].begin(), x[max_index].end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "SUM: " << row_sums[max_index] << std::endl;
    
    return 0;
}
Yandex
Объявления
24.02.2010, 10:27     Функции языка С++
Ответ Создать тему
Опции темы

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