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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
#1

Функция для сложения столбцов массива. - C++

19.10.2009, 19:31. Просмотров 1029. Ответов 12
Метки нет (Все метки)

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

Написать программу, которая описывает двухмерный массиве размерностью 4*2, вводит этот массив с клавиатуры, помещает суммы столбцов этого массива в одномерный массив В и выводит массивы А и В на экран.
Сам массив я попытался задать, а как записать сумму столбцов двумерного массива не понимаю
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
#include “StdAfx.h”
 
#include <stdio.h>                                     
 
#include <iostream.h>
 
#include <math.h>
 
 
 
 
 
 
void array(float c[4][2], float d[2])
{
    for(int i=0;i<4;i++)
    {
        for(int j=0;n<2;j++)
        {
            d[j]=c[3][j];
 
            cout<<"c["<<i<<"]["<<j<<"]=";
        cin>>d[j];
 
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.10.2009, 19:50     Функция для сложения столбцов массива. #2
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 <iostream>
 
#define COL 4
#define ROW 2
using namespace std;
 
int main()
{
    int array[COL][ROW], sumArr[COL];
    cout<<"Enter elements array:"<<endl;
    for(int row=0;row<ROW;row++)
    {
        for(int col=0;col<COL;col++)
        {
            cout<<"c["<<col<<"]["<<row<<"]=";
            cin>>array[col][row];
        }
        cout<<endl;
    }
 
    cout<<"result array:"<<endl;
    for(int col=0;col<COL;col++)
    {
        sumArr[col]=0;
        for(int row=0;row<ROW;row++)
        {
            sumArr[col]+=array[col][row];
        }
        cout<<" "<<sumArr[col];
    }
    cout<<endl;
    system("PAUSE");
    return 0;
}
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
19.10.2009, 20:00  [ТС]     Функция для сложения столбцов массива. #3
А возможно с небольшим объяснением что и откуда, чтобы понять и разобраться что к чему? А то при копировании кода компилятор выдает ошибки:
error C2871: 'std' : does not exist or is not a namespace
error C2065: 'system' : undeclared identifier
error C2065: 'n' : undeclared identifier
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.10.2009, 20:06     Функция для сложения столбцов массива. #4
Цитата Сообщение от Добрый кот Посмотреть сообщение
А возможно с небольшим объяснением что и откуда, чтобы понять и разобраться что к чему? А то при копировании кода компилятор выдает ошибки:
error C2871: 'std' : does not exist or is not a namespace
error C2065: 'system' : undeclared identifier
error C2065: 'n' : undeclared identifier
это называется компиляторы не дружат.
коментируй 6 и 33 строку

Добавлено через 2 минуты
во второй строке возможно нужно будет добавить .h типа так #include <iostream.h>, но не спеши пока

вот где он n нашёл это вопрос. ты своего кода добавить не успел?
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.10.2009, 20:08     Функция для сложения столбцов массива. #5
'system' и 'std' - это понятно, это тебе сейчас TanT объяснит, а вот 'n' это только у тебя в коде было в строке 18, и вот про эту 'n' компилятор тебе и сообщает.
Цитата Сообщение от Добрый кот Посмотреть сообщение
for(int j=0;n<2;j++)
уже объяснил.
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
19.10.2009, 20:15  [ТС]     Функция для сложения столбцов массива. #6
мне нужно записать функцию для суммирования столбцов двумерного и чтобы эти значения суммы выводились как одномерный массив, я пытался задать сумму, но у меня не получалось а сам массив я предполагаю должен выглядеть как я задал его, что массиву d мы присваиваем значения столбцов массива с. Возможно я сам массив неверно задал, тока пару недель изучаю прогу вполне могу ошибиться.
а твой код я скопировал на место где должна быть функция суммирования между библиотеками и void
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.10.2009, 20:19     Функция для сложения столбцов массива. #7
я не оформлял в виде функции, это готовый код его нужно использовать целиком вместо всего твоего кода с учётом замечаний описанных выше
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
19.10.2009, 20:19  [ТС]     Функция для сложения столбцов массива. #8
по идеи код не особо должен быть большим
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.10.2009, 20:23     Функция для сложения столбцов массива. #9
вот так примерно выглядит с функцией

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
#include <iostream>
 
#define COL 4
#define ROW 2
 
using namespace std;
 
 
int sumArr[COL];
 
void Summ(int array[COL][ROW])
{   
    for(int col=0;col<COL;col++)
    {
        sumArr[col]=0;
        for(int row=0;row<ROW;row++)
        {
            sumArr[col]+=array[col][row];
        }
    }
 
}
 
int main()
{
    int array[COL][ROW];
    cout<<"Enter elements array:"<<endl;
    for(int row=0;row<ROW;row++)
    {
        for(int col=0;col<COL;col++)
        {
            cout<<"c["<<col<<"]["<<row<<"]=";
            cin>>array[col][row];
        }
        cout<<endl;
    }
 
    Summ(array);
 
    cout<<"result array:"<<endl;
    for(int col=0;col<COL;col++)
    {
        cout<<" "<<sumArr[col];
    }
    cout<<endl;
    system("PAUSE");
    return 0;
}
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
19.10.2009, 20:26  [ТС]     Функция для сложения столбцов массива. #10
выдает ошибку unexpected end of file while looking for precompiled header directive
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.10.2009, 20:30     Функция для сложения столбцов массива. #11
6 , 46 - закоментил?
#include <iostream.h> поставил?
возможно ещё не хватает
#include “StdAfx.h”
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.10.2009, 20:32     Функция для сложения столбцов массива. #12
TanT, у него похоже компилятор VC++.

Добрый кот,
попробуй в самом начале кода перед:
C++
1
#include <iostream>
вставить
C++
1
#include "stdafx.h"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2009, 21:18     Функция для сложения столбцов массива.
Еще ссылки по теме:

C++ Перегруженные функции для сложения вещественных чисел; для сложения комплексных чисел
C++ Написать класс для сложения массива
C++ Функция сложения C строк. Правильно ли написана?
C++ Функция сложения матриц
Цикл для сложения элементов целочисленного массива C++

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

Или воспользуйтесь поиском по форуму:
Добрый кот
0 / 0 / 0
Регистрация: 19.10.2009
Сообщений: 20
19.10.2009, 21:18  [ТС]     Функция для сложения столбцов массива. #13
спасибо огромное все работает теперь последняя просьба объяснить прогу, рассказать про col и row и про все операторы, для чего они. пожалуйста!

Добавлено через 24 минуты
для чего нужна эта строчка?
using namespace std что она делает или описывает
Yandex
Объявления
19.10.2009, 21:18     Функция для сложения столбцов массива.
Ответ Создать тему
Опции темы

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