Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2012, 17:08   #1
kryliaangela
Пользователь
 
Аватар для kryliaangela
 
Регистрация: 12.01.2012
Сообщений: 18
По умолчанию С++ рекурсия

Вычислить сумму элементов одномерного массива.
Код:
#include <iostream>
#include <math.h>
#include <windows.h>
using namespace std;
int n, i;
double sum=0, *a=new double [n];
double Q (double *a)
	{double sum=sum+a[i];
	 i++;
	 if(i<n)
		 return Q(a)+sum;
     return sum;}
int main ()
{SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 cout<<"Введите количество элементов массива" << '\t';
 cin>>n;
 cout<<"Введите элементы массива"<<'\n';
 for(i=0;i<n;i++)
	{cout<<"а"<<i+1<<" "<<"="<<" ";
	 cin>>a[i];}
 cout<<"Введенный массив";
 for(i=0;i<n;i++)
	cout<<a[i]<<" ";
 cout<<"Сумма элементов массива равна"<<" "<<Q(a);
 system("PAUSE");}
вылазеет ошибка:Run-Time Check Failure #3 - The variable 'sum' is being used without being initialized.

Последний раз редактировалось kryliaangela; 27.05.2012 в 17:18.
kryliaangela вне форума Ответить с цитированием
Старый 27.05.2012, 17:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
double sum=0
Инициализируй ее

P.S. Кстати не обязательно было делать ее глобальной.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.05.2012, 17:17   #3
kryliaangela
Пользователь
 
Аватар для kryliaangela
 
Регистрация: 12.01.2012
Сообщений: 18
По умолчанию

Все равно выдает ошибку
kryliaangela вне форума Ответить с цитированием
Старый 27.05.2012, 18:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну дык убери ее из глобального описания
Оставь только
Код:
double sum=0;sum+=a[i];
Цитата:
double *a=new double [n];
А очищать мусор в конце программы кто будет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия malenkaya Помощь студентам 0 21.02.2011 20:16
рекурсия shelest Помощь студентам 3 14.04.2010 10:12
рекурсия qwerty98765 Помощь студентам 1 10.04.2010 15:22
рекурсия misha25525 Помощь студентам 4 25.03.2010 18:57