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

Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? - C++

Восстановить пароль Регистрация
 
Let_Nov
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 4
24.02.2014, 01:40     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #1
Требуется ввести с клавиатуры массив, к примеру, 2Х3 и посчитать его сумму с помощью функции. Не могу понять, как правильно написать эту функцию, чтобы расчет был верный.

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
#include <stdio.h>
int s(int arr)
    {
    int sum=0;
    for(int i=0; i<2; i++)
    {
        for(int j=0; j<3; j++)
            {
            sum+=arr;
                    }
    }
    printf("Сумма элементов массива: %d",sum);
    return sum;
    }
main()
{
int i, j, a_i[2][3];
    for(i=0; i<2; i++)
        {
        for(j=0; j<3; j++)
            {
                    printf("a_i[%d][%d]: ",i+1,j+1);
            scanf("%d",&(a_i[i][j]));
            }
        }
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++)
            {
            printf("%d ",a_i[i][j]);
                    }
    printf("\n");
    }
    return s(a_i[i][j]);    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 01:40     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры?
Посмотрите здесь:

C++ Написать функцию для обмена строк двумерного массива
C++ Шаблон задаваемого с клавиатуры динамического массива
C++ Написать функцию нахождения суммы элементов двумерного массива
C++ Написать функцию для удаления строки из двумерного массива
C++ Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
school_bot
14 / 12 / 3
Регистрация: 23.12.2013
Сообщений: 84
24.02.2014, 15:46     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #2
функция суммирования всех элементов массива int arr[m][n] (m и n можно объявить после инклудов в качестве const int или через define) может выглядеть так:
C++
1
2
3
4
5
6
7
8
9
int s(int arr[m][n]) {
    int sum = 0;
    for (int i = 0; i < m; ++i) {
        for  (int j = 0; j < n; ++j) {
            sum += arr[i][j];
        }
    }
    return sum; 
}
Цитата Сообщение от Let_Nov Посмотреть сообщение
int s(int arr)
* * {
* * int sum=0;
* * for(int i=0; i<2; i++)
* * {
* * * * for(int j=0; j<3; j++)
* * * * * * {
* * * * * * sum+=arr;
* * * * * * * * * * }
* * }
* * printf("Сумма элементов массива: %d",sum);
* * return sum;
* * }
Let_Nov
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 4
25.02.2014, 22:02  [ТС]     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #3
Сделал так, но выдает ошибку: " Cannot convert 'int' to 'int[3] *' ".
Подскажите пожалуйста, как ее исправить?

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
#include <stdio.h>
#define m 2
#define n 3
int s(int arr[m][n])
    {
 
    int sum=0;
    for(int i=0; i<m; i++)
    {
        for(int j=0; j<n; j++)
            {
            sum+=arr[i][j];
                    }
    }
    printf("ÑóììГ* ГўГ±ГҐГµ ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*: %d",sum);
    return sum;
    }
 
main()
{
 
int i, j, a_i[m][n];
    for(i=0; i<2; i++)
        {
        for(j=0; j<3; j++)
            {
                    printf("a_i[%d][%d]: ",i+1,j+1);
            scanf("%d",&(a_i[i][j]));
            }
        
        }
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++)
            {
            printf("%d ",a_i[i][j]);
                    }
    printf("\n");
    }
    return s(a_i[m][n]);
    
}
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
25.02.2014, 22:36     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #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
41
42
#include <stdio.h>
#include <conio.h>
#define m 2
#define n 3
 
int s(int arr[m][n]);
 
int main() {
    int i, j;
    int a_i[m][n];
 
    for(i=0; i<2; i++) {
        for(j=0; j<3; j++) {
            printf("a_i[%d][%d]: ",i+1,j+1);
            scanf("%d",&(a_i[i][j]));
            }
        }
 
    for(i=0; i<2; i++) {
        for(j=0; j<3; j++) {
            printf("%d ",a_i[i][j]);
        }
        printf("\n");
    }
 
    s(a_i);
 
    getch();
    return 0;
}
 
int s(int arr[m][n]) {
    int sum=0;
    for(int i=0; i<m; i++) {
        for(int j=0; j<n; j++) {
            sum += arr[i][j];
        }
    }
    printf("Сумма всех элементов массива: %d", sum);
 
    return sum;
}
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
25.02.2014, 22:58     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #5
Я до сих пор не могу понять кода автора. Особенно не понимаю, что он возвращает в main().
По поводу вопроса, лучше всего передавать в качестве параметра указатель на массив, ну, или делать 2 константы, в которых хранятся размеры матрицы, а потом уже с их помощью делать в качестве параметра двумерный массив.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
25.02.2014, 23:05     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #6
Anton_Kretov, Я думаю, что автор сам не понимает свой код.
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
25.02.2014, 23:05     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #7
Во-во, полностью согласен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2014, 11:00     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры?
Еще ссылки по теме:

C++ Написать программу, которая вычисляет сумму элементов двумерного массива по столбцам. Организовать ввод массива с клавиатуры по строкам
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э C++
Написать процедуру для суммирования матриц. Ошибка при передаче массива в функцию C++

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

Или воспользуйтесь поиском по форуму:
Let_Nov
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 4
26.02.2014, 11:00  [ТС]     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры? #8
конечно до конца не понимаю, поэтому и прошу вашей помощи) Спасибо)
Yandex
Объявления
26.02.2014, 11:00     Как написать функцию суммирования двумерного массива, задаваемого с клавиатуры?
Ответ Создать тему
Опции темы

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