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

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

19.02.2012, 08:07. Просмотров 2602. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 08:07
Ответы с готовыми решениями:

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

Найти максимальное значение элементов массива, а также номера всех элементов массива с этим значением
Дан массив из n элементов. Необходимо найти максимальное значение элементов...

Найти сумму квадратов всех элементов массива
1. Дан массив целых чисел Х. Найти сумму квадратов всех чисел.

Найти сумму элементов массива до первого элемента равного 0, и сумму оставшихся элементов (функции)
Дан массив а1, а2, …, а12. Вычислить сумму элементов этого массива до первого...

Найти сумму квадратов последних шести элементов массива
Хочу чтобы массив заполнялся случайными числами (это не обязательно). ...

14
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,142
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
Jalced
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
20.02.2012, 11:51  [ТС] #3
Спасибо конечно, но что то я совсем не могу понять, где там решение через функцию (подпрограмму пользователя)?
Это обычный способ решения, так я умею) По поводу полученной матрицы, надо же глянуть, получился нормальный ответ, или нет, т.к. если массив будет 5*5 к примеру, то представить в голове и просчитать будет проблемно
0
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,142
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
WebMax 2.0
--\.founder./--
561 / 561 / 392
Регистрация: 20.10.2011
Сообщений: 867
20.02.2012, 12:22 #5
Jalced, возьми код dimcoder, вырежи цикл нахождения сумм и создай функцию , передай туда массив, верни полученные значения , вроде ничего сложного . Компилятора под рукой нет !
1
Jalced
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
20.02.2012, 13:02  [ТС] #6
dimcoder, не ну я в названии темы написал, думал достаточно) Спасибо большое

WebMax 2.0, в том то и дело, как все это примерно выглядет я представлял, а как на языке все это записать.. Плохо, когда темы дают на самоизучение
0
rinat_w
89 / 85 / 17
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
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
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.02.2012, 18:38 #8
Цитата Сообщение от rinat_w Посмотреть сообщение
во более изящный код без использования функций:
Цитата Сообщение от rinat_w Посмотреть сообщение
cin>>k;
int D[k];
По фигу на переносимость и работоспособность. Главное - "изящность".
1
rinat_w
89 / 85 / 17
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
21.02.2012, 16:02 #9
Цитата Сообщение от soon Посмотреть сообщение
По фигу на переносимость и работоспособность. Главное - "изящность".
Он же в задании написал "Дан произвольный массив D размера k." А так у меня все работоспособно и с оформлением
0
soon
2545 / 1310 / 177
Регистрация: 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
rinat_w
89 / 85 / 17
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
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
Jalced
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
01.03.2012, 16:07  [ТС] #13
Хелп) Что значит int *a, что дает эта звездочка?
0
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,142
01.03.2012, 18:56 #14
Цитата Сообщение от Jalced Посмотреть сообщение
int *a
Это указатель. Читай про указатели.
0
Jalced
0 / 0 / 0
Регистрация: 12.10.2011
Сообщений: 50
02.03.2012, 04:51  [ТС] #15
Цитата Сообщение от dimcoder Посмотреть сообщение
Это указатель. Читай про указатели.
Тоесть в моем случае, получается это указатель на обьект типа int ? А что он делает, я не могу понять) В инете что то про адресы написано, но чето как не очень доступно)
0
02.03.2012, 04:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2012, 04:51

Найти сумму квадратов всех положительных элементов массива
Найти сумму квадратов всех положительных елементов массива А ={a} написатm...

Найти сумму квадратов заданных элементов вещественного массива
Дан линейный вещественный массив a. Найти :...

Найти индексы минимума и максимума, а также сумму элементов массива между ними
В одномерном массиве, вводимом с клавиатуры и состоящем из 10 вещественных...


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

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

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