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

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

Войти
Регистрация
Восстановить пароль
 
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
#1

Функция нахождения суммы - C++

03.07.2013, 16:46. Просмотров 915. Ответов 12
Метки нет (Все метки)

Есть программный код на с++, с функцией нахождения суммы s1 и s2. Почему-то сумму s1,s2 не считает, помогите.
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
#include<stdio.h>
#include<conio.h>
void Sum(float*s, float *x,int n); //prototip funkcii sum
void main()
{
int i;
float a[10],b[15];
float s1,s2;
clrscr();
for (i=0;i<10;i++)
{
printf("a[%d]",i);
scanf("%f",&a[i]);
}
printf("****\n");
for (i=0;i<15;i++)
{
printf("b[%d]",i);
scanf("%f",b[i]);
}
printf("*****\n");
Sum(&s1,a,9); //vizov funkcii sum
printf("s1=%7.2f \n",s1);
Sum(&s2,b,14);  //vizov funkcii sum
printf("s2=%7.2f /n",s2);
getch();
}
void Sum(float *s, float *x, int n)
{
int k;
*s=0;
for k=0;k<=n;k++);
*s+=x[k];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2013, 16:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция нахождения суммы (C++):

Функция для нахождения суммы факториалов - C++
Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9, использовав функцию вычисления факториала.

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

Рекурсивная функция для нахождения суммы ряда - C++
Создайте рекурсивную функцию для нахождения суммы s=Σ(x^n/n) выдает ошибку, объясните, что не так( #include &quot;stdafx.h&quot; ...

Рекурсивная функция для нахождения n-го члена / суммы n первых членов геометрической прогрессии - C++
Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную функцию для нахождения: а) n-го члена прогрессии; б) суммы n...

Класс "Матрица" для нахождения суммы, разности, умножения матриц и суммы элементов матрицы. - C++
Всем привет. Вы могли бы протестировать работу на предмет ошибок, и если нетрудно указать места, где можно было бы написать код как-то...

Написать программу нахождения суммы - C++
Написать программу нахождения суммы, большего и меньшего из трех чисел. Я в общем сделал но мне надо что бы программа округляла ответ.я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.07.2013, 16:51 #2
функцию sum надо подправить:
C++
1
2
3
4
5
6
7
void Sum(float *s, float *x, int n)
{
int k;
*s=0;
for (k=0;k<=n;k++)
*s+=x[k];
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.07.2013, 18:04 #3
C++
1
for (k=0;k<=n;k++)
Вижу, что вызывается с параметром на единицу меньше, чем размер массива, но это как-то не по-людски. Поэтому в коде должно быть строго меньше, а вызываться, передавая размер (а не размер-1) массива. К тому же, надо убрать "магические" константы.
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 18:10  [ТС] #4
надо убрать "магические" константы.
А магические это какие, объясни по русски, я новичок в с++, только изучаю
SeerRus
5 / 5 / 1
Регистрация: 26.06.2013
Сообщений: 32
03.07.2013, 18:22 #5
Цитата Сообщение от urbic Посмотреть сообщение
А магические это какие, объясни по русски, я новичок в с++, только изучаю
Полагаю, он говорит о неких цифрах, которые мистическим образом стоят в системе и взяты неизвестно откуда. Лучше задать их как константы с понятным названием, и при повторном использовании и изменении проблем не будет.
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 18:24  [ТС] #6
for поправили, но все равно получается
a[0]2.3
a[1]2.3
a[2]2.3
a[3]2.3
a[4]2.3
****
b[0]2.2
b[1]2.6
b[2]2.6
b[3]2.5
b[4]2.5
*****
s1= 0.00
s2= 2.30
Что не так?Помогите
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 18:25  [ТС] #7
вот файл
Вложения
Тип файла: rar F.rar (358 байт, 2 просмотров)
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
03.07.2013, 18:35 #8
лови
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<stdio.h>
#include<conio.h>
void Sum(float &s, float *x, int n)
{
int k;
s=0;
for (k=0;k<=n;k++)
s+=x[k];
}
int main()
{
int i;
float a[10],b[15];
float s1,s2;
for (i=0;i<10;i++)
{
printf("a[%d]",i);
scanf("%f",&a[i]);
}
printf("****\n");
for (i=0;i<15;i++)
{
printf("b[%d]",i);
scanf("%f",&b[i]);
}
printf("*****\n");
Sum(s1,a,9); //vizov funkcii sum
printf("s1=%7.2f \n",s1);
Sum(s2,b,14);  //vizov funkcii sum
printf("s2=%7.2f \n",s2);
getch();
}
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 18:41  [ТС] #9
лови
выдает ошибку
Миниатюры
Функция нахождения суммы  
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
03.07.2013, 18:53 #10
ёмаё, почему у меня тогда всё посчитало, щяс гляну

Добавлено через 3 минуты
это всё компилятор чудит. скачай бесплатный codeblocks с mingw и изучай спокойно с++.
Я отвечаю, я запустил тот код, что те скинул, всё посчитало правильно
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 19:21  [ТС] #11
это всё компилятор чудит. скачай бесплатный codeblocks с mingw и изучай спокойно с++.
дай ссылку на прогу скачать
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
03.07.2013, 19:36 #12
http://sourceforge.net/projects/code...p.exe/download
urbic
130 / 121 / 46
Регистрация: 27.09.2012
Сообщений: 484
03.07.2013, 19:56  [ТС] #13
Скачали компилятор по ссылке, запустили прогу. вот что получилось
a[0]2.2
a[1]2.3
a[2]3.2
a[3]3.5
a[4]2.6
****
b[0]3.6
b[1]6.3
b[2]5.2
b[3]21.2
b[4]33.6
*****
s1= 0.00
s2= 2.30

Добавлено через 3 минуты
Ой не тот файл, да все работает спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2013, 19:56
Привет! Вот еще темы с ответами:

Программа нахождения суммы ряда на си - C++
Помогите пожалуйста написать программу на си. нахождения суммы ряда. Цикл должен считать сумму ряда как минимум 100.000.000 раз. ...

Нахождения минимальной суммы операций - C++
Имеется натуральное число n. За один ход с ним можно произвести следующие действия: Вычесть единицу Разделить на два Разделить на...

Составить программу для нахождения суммы - C++
Здравствуйте! Помогите написать парочку программ... 1. Составить блок-схему и программу нахождения суммы удвоенных чётных чисел в...

Подкорректировать код нахождения суммы ряда - C++
помогите,пожалуйста, подкорректировать код под мою задачу. понимаю,что легко, но я никогда не работала с с++ #include &lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.07.2013, 19:56
Ответ Создать тему
Опции темы

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