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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Пульман
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 40
#1

Найти сумму и число элементов каждого столбца двухмерного массива - C++

08.12.2013, 12:34. Просмотров 335. Ответов 4
Метки нет (Все метки)

Найти сумму и число элементов каждого столбца двухмерного массива удовлетворяющих следующим условиям: состоящая только из отрицательных и нулевых элементов;;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 12:34     Найти сумму и число элементов каждого столбца двухмерного массива
Посмотрите здесь:

Найти произведение цифр числа C++
Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A C++
Найти сумму элементов каждого столбца двумерного массива C++
Вычислите и запомните сумму и число положительных элементов каждого столбца матрицы C++
Для каждого столбца двумерного массива подсчитать сумму четных положительных элементов C++
Для каждого столбца двумерного массива найти и напечатать сумму элементов C++
C++ В прямоугольной матрице заменить элементы каждого столбца на сумму элементов этого столбца
Найти сумму элементов каждого парного столбца двумерного массива - C++ C++
Посчитать сумму каждого столбца массива C++
C++ Найти сумму и число элементов каждого столбца двухмерного массива
C++ Найти сумму и число положительных элементов каждого столбца матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TwilightTwinkle
6 / 6 / 0
Регистрация: 27.11.2013
Сообщений: 26
08.12.2013, 12:48     Найти сумму и число элементов каждого столбца двухмерного массива #2
C++
1
2
3
4
5
6
7
8
void f(int size1, int size2, int* array, int* arrResult);{//результный массив должен быть проинициализирован нулями изначально
int sizeCop=size1;
while (size2>=0){
while (sizeCop>=0){
if (array[size1][size2]<=0){
ResultArr[size2]+=array[sizeCop][size2];}
--sizeCop;}
--size2; sizeCop=size1;}}
Надеюсь, что ничего, что запись в результном массиве будет зеркально отражена (последний элемент результатного массива=сумме первого столбца).
Пульман
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 40
08.12.2013, 12:49  [ТС]     Найти сумму и число элементов каждого столбца двухмерного массива #3
Ничего не понял(
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
08.12.2013, 12:55     Найти сумму и число элементов каждого столбца двухмерного массива #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
#include <cstdio>
 
bool is_negative(int* r, int l) {
    for (int i = 0; i < l; i++)
        if (r[i] > 0) return false;
 
    return true;
}
 
bool is_null(int* r, int l) {
    for (int i = 0; i < l; i++)
        if (r[i] != 0) return false;
 
    return true;
}
 
int get_column_count(int* r, int l) {
    int a = 0;
    for (int i = 0; i < l; i++) 
        a++;
    return a;
}
 
int main() {
    int matrix[5][6] = {
        { 2, 4, 6, 8, 10, 14 },
        { 0, 0, 0, 0, 0, 0 },
        { 8, 9, 13, 14, -8, -3},
        { -7, -9, -30, -10, -19, -18},
        { 18, 20, 24, 56, 30, 20 }
    };
 
    for (int i = 0; i < 5; i++) {
        if (is_negative(matrix[i], 6) || is_null(matrix[i], 6)) {
            printf("Row %d has %d elements\n", i, get_column_count(matrix[i], 6));
            continue;
        }
    }
 
    std::getchar();
}
?
TwilightTwinkle
6 / 6 / 0
Регистрация: 27.11.2013
Сообщений: 26
08.12.2013, 12:57     Найти сумму и число элементов каждого столбца двухмерного массива #5
Цитата Сообщение от Пульман Посмотреть сообщение
Ничего не понял(
C++
1
2
3
4
5
6
7
8
9
10
void f(int size1, int size2, int* array, int* arrResult);{//результный массив должен быть проинициализирован нулями изначально
//size1 и size2 - это размерность массива, array - входной массив, где * - указатель на него, чтобы функции можно было его передать,
//arrResult - массив, в который будет записан результат, он одномерный.
int sizeCop=size1;//sizeCop - это копия кол-ва столбцов, т.к. надо будет возвращаться к исходному значению их кол-ва.
while (size2>=0){
while (sizeCop>=0){
if (array[size1][size2]<=0){
ResultArr[size2]+=array[sizeCop][size2];}//вот тут и пригодится изначальная инициализация всех элементов массива, если этого не сделать - то код в цикле будет длиннее и выполняться функция будет значительно дольше
--sizeCop;}
--size2; sizeCop=size1;}}
Понятненько? :3
Yandex
Объявления
08.12.2013, 12:57     Найти сумму и число элементов каждого столбца двухмерного массива
Ответ Создать тему
Опции темы

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