Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Sverhrazum22
7 / 7 / 0
Регистрация: 13.02.2017
Сообщений: 97
#1

Разработать функцию, определяющую сумму элементов двумерного массива

02.07.2017, 13:09. Просмотров 259. Ответов 8

Разработать функцию, определяющую сумму элементов двумерного массива.Любой размерности,заполнить случайным образом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2017, 13:09
Ответы с готовыми решениями:

Описать функцию, определяющую сумму элементов массива
Описать функцию, определяющую сумму элементов массива

Разработать функцию,определяющую наименьший элемент массива x, не являющийся элементом массива y
Даны два одномерных массива x и y произвольной длины.Разработать...

Разработать функцию, определяющую количество отрицательных элементов в матрице
Дана матрица натуральных чисел размера m x n. Разработать функцию, определяющую...

Разработать функцию, в которую передается массив типа float, что возвращает сумму элементов массива в диапазон
Разработать функцию, в которую передается массив типа float, что возвращает...

Разработать функцию зануления главной диагонали двумерного массива
Программа подработана для такого задания: Разработать функцию зануления строки...

8
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
02.07.2017, 13:41 #2
Sverhrazum22, Если бы Вы посмотрели образец
Образцы (шаблоны) программ для типовых задач
то задачу решили бы самостоятельно, вот она функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
//
// пример обработки матрицы - подсчет суммы
//
int Process( int ** M, size_t n, size_t m ) {
    int Sum = 0;
    for ( size_t i = 0; i < n; ++i ) {
        for ( size_t j = 0; j < m; ++j ) {
            Sum += M[i][j];
        }
    }
    return Sum;
}
0
Sverhrazum22
7 / 7 / 0
Регистрация: 13.02.2017
Сообщений: 97
02.07.2017, 14:24  [ТС] #3
zss, а при вызове функции как тогда передать массив в параметр? и мне нужно, чтобы функция была определена в др cpp,но тогда не находится функция

Добавлено через 9 минут
Цитата Сообщение от Sverhrazum22 Посмотреть сообщение
в параметр
* как параметр
0
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
02.07.2017, 17:11 #4
А в примере массив М, по Вашему, не параметр?

Цитата Сообщение от Sverhrazum22 Посмотреть сообщение
чтобы функция была определена в др cpp
1. Переписываете описания всех функции в отдельный файл и подключаете вторым файлом к проекту.
2. Создаете заголовочный xxxx.h файл, в который записываете ОБЪЯВЛЕНИЯ всех функций, типа
C++
1
int Process( int ** M, size_t n, size_t m );
3. Добавляете в исходный файл строку
C++
1
#include "xxxx.h"
0
Antikl
с++
294 / 287 / 153
Регистрация: 15.07.2015
Сообщений: 1,539
Завершенные тесты: 6
02.07.2017, 17:17 #5
с той же темы что любезно предложит модератор zss вам
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
#include <cstdlib>
#include <ctime>
#include <iostream>
 
/// заполнение матрицы случайными числами из диапазона [0, 99]
void FillRandomNumbers(int **matrix, const size_t rows, const size_t columns)
{
    srand(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 **matrix, const size_t rows, const size_t columns)
{
    for (size_t row=0; row < rows; row++)
    {
        for (size_t column=0; column < columns; column++)
            std::cout << matrix[row][column] << " "; // выводим элемент
        std::cout << std::endl; // перевод строки
    }
}
 
/// пример обработки матрицы - подсчет суммы всех элементов
int Sum(int **matrix, const size_t rows, const size_t columns)
{
    int sum = 0; // счётчик суммы
    for (size_t row=0; row < rows; row++)
        for (size_t column=0; column < columns; column++)
            sum += matrix[row][column];
 
    return sum; // вернуть результат
}
 
// ...
// сюда вставить все дополнительные функции которые напишете
// ...
 
 
int main()
{
    //setlocale(LC_ALL, "rus"); // установим локаль для вывода русских символов
 
    size_t rows, columns; // строки и столбцы
 
    // вводим размерность матрицы
    std::cout << "Введите количество строк матрицы: ";
    std::cin >> rows;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> columns;
 
    // выделяем память под матрицу
    int **matrix = new int*[rows];
    for (size_t row=0; row < rows; row++)
        matrix[row] = new int[columns];
 
    // заполнение случайными числами
    FillRandomNumbers(matrix, rows, columns);
 
    // вывод на экран
    std::cout << "\nМатрица:\n";
    Print(matrix, rows, columns);
 
    // обработка матрицы
    std::cout << "\nСумма всех элементов матрицы равна " << Sum(matrix, rows, columns) << std::endl;
 
    // освобождаем память, выделенную под матрицу
    // освобождение идёт в обратном порядке от выделения
    for (size_t row=0; row < rows; row++)
        delete[] matrix[row];
    delete[] matrix;
 
    // ждём нажатия клавиши перед выходом из приложения
    //system("pause");
}
0
Sverhrazum22
7 / 7 / 0
Регистрация: 13.02.2017
Сообщений: 97
02.07.2017, 17:22  [ТС] #6
zss, с массивом уже все ок,но у меня подключено так, как вы указываете. именно функции войд не вызываются, чаровские, интовые,дабл - все ок
0
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
02.07.2017, 17:25 #7
Sverhrazum22, приведите код того, что получилось
(main.cpp,xxxx.cpp,xxxx.h).
0
Sverhrazum22
7 / 7 / 0
Регистрация: 13.02.2017
Сообщений: 97
02.07.2017, 17:27  [ТС] #8
zss,
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
#pragma once
 
 
void triangle(double a, double b, double c, double &s, double &h1, double &h2, double &h3);
void password(char* sym1, char* sym2);
void sort(int *ar, int n);
 
#include <cmath>
#include <ctime>
#include "описание.h"
void Triangle(double a, double b, double c, double &s, double &h1, double &h2, double &h3) {
 
    double p = (a + b + c) / 2;
    s = sqrt(p*(p - a)*(p - b)*(p - c));
    h1 = 2 * s / a;
    h2 = 2 * s / b;
    h3 = 2 * s / c;
 
}
 
 
void Password(char* sym1, char* sym2) {
    while (sym1 != sym2)
        *sym1++ = 'A' + rand() % ('Z' - 'A' + 1);
    *sym1 = '\0';
}
 
void Sort(int *ar, int n) {
 
    for (int i = 0; i < n; i++) {
 
        for (int x = i; x < n; x++) {
 
            if (ar[i] < ar[x]) {
                int helper = ar[i];
                ar[i] = ar[x];
                ar[x] = helper;
            }
        }
    }
}
#include <iostream>
#include <ctime>
#include "описание.h"
 
 
 
using namespace std;
int main()
{
 
    setlocale(LC_ALL, "Russian");
 
    
 
    double x, y, z;
    cout << "Введите сторону" << endl;
    cin >> x;
    cout << "Введите сторону" << endl;
    cin >> y;
    cout << "Введите сторону" << endl;
    cin >> z;
 
    if (x > 0 && y > 0 && z > 0) {
        double s, h1, h2, h3;
        Triangle(x, y, z, s, h1, h2, h3);
        cout << "Площадь = " << s << endl;
        cout << "Высота 1 = " << h1 << endl;
        cout << "Высота 2 = " << h2 << endl;
        cout << "Высота 3 = " << h3 << endl;
    }
    else
        cout << "Неверный ввод" << endl;
 
 
 
 
 
    const int n = 5;
    char ar[n + 1];
    Password(ar, ar + 5);
    cout << ar << endl;
 
 
 
 
    const int n = 10;
    srand(time(0));
    int ar[10];
 
    for (int i = 0; i < n; i++) {
    ar[i] = rand() % 21 - 10;
    cout << ar[i] << endl;
    }
 
    cout << endl;
 
    Sort(ar, n);
 
    cout << "Отсортированный массив" << endl;
 
    for (int i = 0; i < n; i++) {
    cout << ar[i] << endl;
    }
 
 
    system("pause");
    return 0;
}
1 - хэдер.2 - спп в котором определяется функция.3- спп в котором она вызывается
0
zss
Модератор
Эксперт С++
7068 / 6608 / 4184
Регистрация: 18.12.2011
Сообщений: 17,412
Завершенные тесты: 1
02.07.2017, 19:01 #9
Цитата Сообщение от Sverhrazum22 Посмотреть сообщение
void password(char* sym1, char* sym2);
Цитата Сообщение от Sverhrazum22 Посмотреть сообщение
void Password(char* sym1, char* sym2) {
и т.д.
Первая буква у всех функций разная

Или Вы не знаете, что в С++ регистр в имени переменной имеет значение?
0
02.07.2017, 19:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2017, 19:01

Написать функцию, определяющую максимальный элемент массива из N элементов
Функция max должна быть в int main, как сделать? само задание : Задание 2.7...

Разработать функцию, которая определяет сумму элементов в тех строках, которые не содержат положительных элементов.
Работа с двумерным динамическим массивом. Для целочисленного двумерного...

Написать функцию нахождения суммы элементов двумерного массива
1. Написать программу для ввода элементов двумерного массива MAS размерностью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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