Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
1

Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D.

19.02.2012, 08:07. Показов 3341. Ответов 14
Метки нет (Все метки)

Запутался уже -_- Куда че пихать не могу понять...
Дан произвольный массив D размера k. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. Исходные данные взять самостоятельно
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
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream>
#include<iomanip>
using namespace std;
int arr[10][10],
 i=0,j=0,s1=0,s2=0,s3=0,n=0,m=0;
int sumel (int s1) {
 
    return 
        for ( i=0;i<n;++i) 
            for ( j=0;j<n;++j) 
                s1=s1+arr[i][j];
}
int sumkv (int s2)
{
  return 
      for ( i=0;i<n;++i) 
            for ( j=0;j<n;++j)  
                s2=s2+arr[i][j]*arr[i][j];
}
int sumkub (int s3)
{
    return 
        for ( i=0;i<n;++i) 
            for ( j=0;j<n;++j) 
                s3=s3+arr[i][j]*arr[i][j]*arr[i][j];
}
 
int main()
        
{
 
        setlocale (LC_ALL, ".ACP");
cout<<"Введите размерность массива"<<endl<<"Размерность - ";
cin>>n;
for ( i=0;i<n;++i) {
    for ( j=0;j<n;++j) {
        cout<<"Введите эллемент матрицы:"<<endl;
            cin>>arr[i][j];
}
}
 
cout << endl << "Полученная матрица" << endl;
    for ( i = 0; i < n; ++i) {
        for ( j = 0; j < n; ++j) {
            cout << arr[i][j] << " ";
 }
                cout << endl;
 }
cout<<"Сумма элементов массива = "<<sumel(s1)<<endl;
cout<<"Сумма квадратов массива = "<<sumkv(s2)<<endl;
cout<<"Сумма кубов массива = "<<sumkub(s3)<<endl; 
system ("pause");
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2012, 08:07
Ответы с готовыми решениями:

Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D
Помогите пожалуйста написать код для программы! :) Задание: Дан произвольный массив D...

Использование процедур и функций. Найти сумму элементов, суммы квадратов и кубов элементов массива
Дан произвольный массив D размера k. Найти сумму элементов массива D, а также суммы квадратов и...

Функции. Найти сумму квадратов элементов массива Р и сумму квадратов элементов массива G
Даны два произвольных массива Р, G размера n, m соответственно. Найти сумму квадратов элементов...

Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива
Вот, что есть.Помогите довести до ума! #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

14
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
20.02.2012, 10:51 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int size = 10;
    int D[size];
    for (int i = 0; i < size; i++)
       cin >> D[i];
    int sum1 = 0, sum2 = 0, sum3 = 0;
    for (int i = 0; i < size; i++)
    {
        sum1 += D[i];
        sum2 += D[i] * D[i];
        sum3 += D[i] * D[i] * D[i];
    }
    cout << sum1 << endl << sum2 << endl << sum3 << endl;
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
Цитата Сообщение от Jalced Посмотреть сообщение
Дан произвольный массив D размера k. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D.
И где здесь написано про
Цитата Сообщение от Jalced Посмотреть сообщение
Полученная матрица
?
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
20.02.2012, 11:51  [ТС] 3
Спасибо конечно, но что то я совсем не могу понять, где там решение через функцию (подпрограмму пользователя)?
Это обычный способ решения, так я умею) По поводу полученной матрицы, надо же глянуть, получился нормальный ответ, или нет, т.к. если массив будет 5*5 к примеру, то представить в голове и просчитать будет проблемно
0
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
20.02.2012, 12:20 4
Цитата Сообщение от Jalced Посмотреть сообщение
я совсем не могу понять, где там решение через функцию (подпрограмму пользователя)?
А я не могу понять, где это у вас в задании написано. Задание точно писать надо, откуда мы знаем что там должно быть. Код - не совсем аргумент (но конечно полезен), задание гораздо важнее.
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int func1 (int *a, int size)
{
    int sum1 = 0;
    for (int i = 0; i < size; i++)
        sum1 += a[i];
    return sum1;
}
 
int func2 (int *a, int size)
{
    int sum1 = 0;
    for (int i = 0; i < size; i++)
        sum1 += a[i] * a[i];
    return sum1;
}
 
int func3 (int *a, int size)
{
    int sum1 = 0;
    for (int i = 0; i < size; i++)
        sum1 += a[i] * a[i] * a[i];
    return sum1;
}
 
int main(int argc, char *argv[])
{
    const int size = 10;
    int D[size];
    for (int i = 0; i < size; i++)
       cin >> D[i];
    cout << func1(D, size) << endl << func2(D, size) << endl << func3(D, size) << endl;
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
1
--\.founder./--
564 / 564 / 392
Регистрация: 20.10.2011
Сообщений: 867
20.02.2012, 12:22 5
Jalced, возьми код dimcoder, вырежи цикл нахождения сумм и создай функцию , передай туда массив, верни полученные значения , вроде ничего сложного . Компилятора под рукой нет !
1
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
20.02.2012, 13:02  [ТС] 6
dimcoder, не ну я в названии темы написал, думал достаточно) Спасибо большое

WebMax 2.0, в том то и дело, как все это примерно выглядет я представлял, а как на языке все это записать.. Плохо, когда темы дают на самоизучение
0
90 / 86 / 17
Регистрация: 13.11.2011
Сообщений: 193
20.02.2012, 18:19 7
во более изящный код без использования функций:
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
#include<iostream>
using namespace std;
int main(){
    int k,sum1=0,sum2=0,sum3=0;
    cin>>k;
    int D[k];
    for (int i=0; i<k; i++){
        cin>>D[i];
        sum1=sum1+D[i];
        sum2=sum2+D[i]*D[i];
        sum3=sum3+D[i]*D[i]*D[i];
        }
    cout<<"First degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i];
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum1;
        }
    cout<<"\nSecond degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^2";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum2;
        }
    cout<<"\nThird degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^3";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum3;
        }
    return 0;
}
0
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.02.2012, 18:38 8
Цитата Сообщение от rinat_w Посмотреть сообщение
во более изящный код без использования функций:
Цитата Сообщение от rinat_w Посмотреть сообщение
cin>>k;
int D[k];
По фигу на переносимость и работоспособность. Главное - "изящность".
1
90 / 86 / 17
Регистрация: 13.11.2011
Сообщений: 193
21.02.2012, 16:02 9
Цитата Сообщение от soon Посмотреть сообщение
По фигу на переносимость и работоспособность. Главное - "изящность".
Он же в задании написал "Дан произвольный массив D размера k." А так у меня все работоспособно и с оформлением
0
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.02.2012, 16:18 10
Цитата Сообщение от rinat_w Посмотреть сообщение
Он же в задании написал "Дан произвольный массив D размера k." А так у меня все работоспособно и с оформлением
Неа. Выбивает сегфолт при вполне рабочем тесте - 11111111.
Пруф
Bash
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
soon@desktop:~/Src/C++/main$ cat main.cpp && g++ main.cpp -o main && ./main
#include<iostream>
using namespace std;
int main(){
    int k,sum1=0,sum2=0,sum3=0;
    cin>>k;
    int D[k];
    //int* D = new int [k];
    for (int i=0; i<k; i++){
        cin>>D[i];
        sum1=sum1+D[i];
        sum2=sum2+D[i]*D[i];
        sum3=sum3+D[i]*D[i]*D[i];
        }
    cout<<"First degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i];
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum1;
        }
    cout<<"\nSecond degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^2";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum2;
        }
    cout<<"\nThird degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^3";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum3;
        }
    //delete[] D;
    return 0;
}
11111111
Segmentation fault
soon@desktop:~/Src/C++/main$ cat main.cpp && g++ main.cpp -o main && ./main
#include<iostream>
using namespace std;
int main(){
    int k,sum1=0,sum2=0,sum3=0;
    cin>>k;
    //int D[k];
    int* D = new int [k];
    for (int i=0; i<k; i++){
        cin>>D[i];
        sum1=sum1+D[i];
        sum2=sum2+D[i]*D[i];
        sum3=sum3+D[i]*D[i]*D[i];
        }
    cout<<"First degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i];
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum1;
        }
    cout<<"\nSecond degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^2";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum2;
        }
    cout<<"\nThird degree sum: ";
    for (int i=0; i<k; i++){
        cout<<D[i]<<"^3";
        if (i<k-1) cout<<"+";
        else cout<<"="<<sum3;
        }
    delete[] D;
    return 0;
}
11111111    
1
1
1
1
1
1
1
^C
soon@desktop:~/Src/C++/main$
0
90 / 86 / 17
Регистрация: 13.11.2011
Сообщений: 193
24.02.2012, 18:10 11
Цитата Сообщение от soon Посмотреть сообщение
Неа. Выбивает сегфолт при вполне рабочем тесте - 11111111.
Не знаю как у тебя, но у меня с DevC++ все работает нормально а ты каким IDE пользуешься?
0
soon
24.02.2012, 19:43
  #12

Не по теме:

rinat_w, Vim.
IDE роли не играет. В C99 возможно использование VLA. А в С++ нет. Поэтому там нужно использовать либо статические, либо динамические(как я показал в посте #10, второй вариант), либо использовать контейнеры.
Все, не флудим, если что - в ЛС :)

0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
01.03.2012, 16:07  [ТС] 13
Хелп) Что значит int *a, что дает эта звездочка?
0
Полярный
475 / 447 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
01.03.2012, 18:56 14
Цитата Сообщение от Jalced Посмотреть сообщение
int *a
Это указатель. Читай про указатели.
0
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
02.03.2012, 04:51  [ТС] 15
Цитата Сообщение от dimcoder Посмотреть сообщение
Это указатель. Читай про указатели.
Тоесть в моем случае, получается это указатель на обьект типа int ? А что он делает, я не могу понять) В инете что то про адресы написано, но чето как не очень доступно)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2012, 04:51

Найти разность суммы квадратов элементов и произведения положительных элементов массива
Задан массив X. Напишите программу вычисления величины s = k1-k2, где k1 - сумма квадратов...

Массив: Присвоить S значение 1, если сумма квадратов элемента массива X больше суммы квадратов элементов массива Y...
Заданы два массива X (5) Y (5) переменной s присвоить значение 1, если сумма квадратов элемента...

Найти сумму квадратов элементов массива Р и сумму квадратов элементов массива G
Даны два произвольных массива Р, G размера n, m соответственно. Найти сумму квадратов элементов...

Найти сумму кубов элементов массива целых чисел
Помогите построить в delphi код (срочно): сформировать одномерный массив целых чисел.Найти сумму...


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

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

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