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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ В заданной матрице поменять первый и последний столбец местами http://www.cyberforum.ru/cpp-beginners/thread1633935.html
Помогите, пожалуйста. Составить матрицу с m строками и n столбцами, в которой числа подбираются случайным образом, и поменять первый и последний столбец местами.
C++ Найти значение целого числа удовлетворяющего заданному условию Дано число a (1<a<=1.5). Найти такое наименьшее n, что в последовательности чисел 1 + 1/2, 1 + 1/3, ..., 1 + 1/n последнее число будет меньше a. http://www.cyberforum.ru/cpp-beginners/thread1633931.html
Где найти примеры задач из книги Дейтела по C++ C++
Скачал книгу Дейтела на C++ не могу найти примеры задач, мб есть у кого?
C++ Не срабатывает if
Почему-то не срабатывает if при условии, что мы ввели единицу. Подскажите, пожалуйста, в чем причина. #include <iostream> using namespace std; int main() { setlocale(LC_ALL,"RUS"); int f,s,p,f1,s1,p1,f2,s2,p2; char c; cout<<"Введите первую денежную сумму: "; cin>>f1>>s1>>p1;
C++ Ошибки линковки http://www.cyberforum.ru/cpp-beginners/thread1633913.html
Нужна помощь! Как исправить эти ошибки при компиляции! Все либы и заголовки дополнительные указаны он вроде их не требует! Я даже не понял из какого это файла в проекте или их сразу несколько! 1>------ Build started: Project: vEngine, Configuration: Debug Win32 ------ 1>Compiling... 1>StdAfx.cpp 1>Compiling...
C++ Упорядочить строки матрицы по возрастанию суммы их элементов Я в принципе почти все понимаю, программа работает, но объяснить этот участок кода я не могу я вообще запутался.(Завтра экзамен%-))Прошу вашей помощи, объясните этот участок кода: int *c, *y; //Массив сумм эл строк, и массив индексов c = new int; y = new int; for(int j=1; j<=n;j++) c=0; //Подсчет суммы for(int i=1; i<=n;i++) for(int j=1; j<=m;j++) подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
08.01.2016, 08:26     Сумма произведений элементов каждой строки массива
Что-то Вы так и не освоили методику копирования и вставки текста!
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <ctime>
//
// Создание матрицы
//
int ** Create( size_t n, size_t m ) {
    int ** M = new int * [n];
    for ( size_t i = 0; i < n; ++i ) {
        M[i] = new int [m];
    }
    return M;
}
//
// Удаление матрицы
//
void Free( int ** M, size_t n ) {
    for ( size_t i = 0; i < n; ++i ) {
        delete [] M[i];
    }
    delete [] M;
}
//
//---- ввод матрицы--------------------------------------
//
void Input( int ** M, size_t n, size_t m ) {
    for ( size_t i = 0; i < n; ++i ) {
        for ( size_t j = 0; j < m; ++j ) {
            std::cout << "M[" << i << "][" << j << "] = ";
            std::cin >> M[i][j];
        }
    }
}
//
// заполнение матрицы случайными числами из диапазона [0, 99] -----------
//
void FillRandomNumbers(int **matrix, const size_t rows, const size_t columns)
{
    srand((unsigned int)time(0)); // инициализируем ПГСЧ
 
    for (size_t row=0; row < rows; row++)
        for (size_t column=0; column < columns; column++)
            matrix[row][column] = rand() % 100; // присваиваем СЧ
}
//
//-------- Печать матрицы ------------------------------------------------
//
void Print( int ** M, size_t n, size_t m ) {
    for ( size_t i = 0; i < n; ++i ) {
        for ( size_t j = 0; j < m; ++j ) {
            std::cout<<M[i][j]<<' ';
        }
        std::cout<<std::endl;
    }
}
//
// пример обработки матрицы -  сумму произведений элементов каждой строки массива
//
int Process( int ** M, size_t n, size_t m ) {
    int Sum=0;
    for ( size_t i = 0; i < n; ++i ) {
        int P = 1;
        for ( size_t j = 0; j < m; ++j ) {
            P *= M[i][j];
        }
        Sum+=P;
    }
    return Sum;
}
 
// ...
// сюда вставить все дополнительные функции которые напишете
// ...
 
int main()
{
    //setlocale( LC_ALL, "Rus" ); // установление русской локали (windows)
 
    size_t n, m;
 
    // вводим размерность матрицы
    std::cout << "Введите количество строк матрицы: ";
    std::cin >> n;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> m;
 
    // выделяем память под матрицу
    int ** A = Create( n, m );
 
    // ввод матрицы
    //Input( A, n, m );
    // заполнение случайными числами (вместо ввода)
    FillRandomNumbers(A,n,m);
 
    // Вывод матрицы
    Print(A,n,m);
 
    // обработка матрицы
    int S;
    S=Process( A, S, n, m );
 
    // вывод результата
    std::cout<< S <<std::endl;
 
    // Вывод матрицы
    //Print(A,n,m);
 
    // освобождаем память, выделенную под матрицу и вектор
    delete[] S;
    Free( A, n );
 
    // ждём нажатия клавиши перед выходом из приложения (windows)
    //system( "pause" );
 
    return 0;
}
 
Текущее время: 13:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru