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

Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ - C++

Восстановить пароль Регистрация
 
Leon92
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 5
21.10.2011, 20:52     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #1
Привет всем! У меня случилась одна не большая проблема. Дело в том, что мне задали написать программу: Дан одномерный массив MAS. Найти среднее арифметическое данного массива. Я написал её в C++, программа работает но выдает не правильный результат. Вот сама программа.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<conio.h>
main()
{
int mas[20],n,i,sum;
float sr;
cout<<"Vvedite n="<<endl;
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Vvedite elementy massiva"<<endl;
endl;
cin>>mas[i];
sum=sum+mas[i]
}
sr=sum/n;
cout<"srednee arifm="<<sr;
getch();
}
 Комментарий модератора 
Используйте теги форматирования кода!


При вводе чисел выдает ответ 448 или 449, то есть не правильно выдает ответ, и прошу пожалуйста скажите где ошибка или нужно что-то добавить ? заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:05     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #2
Sum инициализируй нулем, отсчет элементов в массиве начинается с нуля, до n - 1, в третьей снизу строчке пропущен < у cout.
Вроде больше не заметил ошибок.

Добавлено через 2 минуты
Также, отсутствие std::, хотя это в большей степени зависит от того, как вам преподают плюсы. Если же вы сами учите их по книге, то прочитайте про std:: обязательно.
VMV
8 / 8 / 0
Регистрация: 08.10.2011
Сообщений: 28
21.10.2011, 21:06     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #3
вот, работает как надо:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int mas[20],n,i,sum;
    float sr;
    cout << "Vvedite n="<<endl;
    cin >> n;
    sum = 0; 
    for(i = 0; i <= n-1; i++)
    {
        cout << "Vvedite elementy massiva" << endl;
        cin >> mas[i];
        sum = sum+mas[i];
    }
    sr=sum/n;
    cout << "srednee arifm=" << sr << endl;
    system("pause");
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:06     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #4
Строчка #12(если не ошибаюсь), уберите endl;, он вам ничего не даст.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
21.10.2011, 21:07     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #5
еще строку endl; надо убрать
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
21.10.2011, 21:08     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #6
Цитата Сообщение от Leon92 Посмотреть сообщение
программа работает но выдает не правильный результат
что-то сомневаюсь что это работает)
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
21.10.2011, 21:14     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #7
Leon92, не обязательно обязательно использовать массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    double re=0;
    cout<<"N=";
    cin>>n;
    cout<<"Enter elements: ";
    for(int i=0;i<n;i++)
    { 
        int a;            
        cin>>a;
        re+=(double)a/n;
    }
    cout<<"Result: "<<re<<endl;
    system("pause");
    return 0;
}
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
21.10.2011, 21:17     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #8
-comrade-, все же тогда и делить после цикла надо. Во первых, только одно деление будет, а во вторых, точность выше будет)
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
21.10.2011, 21:28     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #9
Olga_, как вам больше нравится
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
22.10.2011, 00:55     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #10
Не обязательно обязательно использовать массив...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    int i;
    double sum;
    
    std::cout << "Ââåäèòå Г¬Г*Г±Г±ГЁГў:\n";
    
    while (std::cin>>i)
    sum+=i; 
    
    std::cout << "ÐåçóëüòГ*ГІ: " << sum/2 << std::endl;
 
    system("PAUSE");
    return 0;
}
Миниатюры
Подскажите пожалуйста где исправить ошибку в программе сделанную в C++  
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
22.10.2011, 01:02     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #11
Что-то я не то нашел))

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    int i, schet=0;
    double sum=0.0;
    
    std::cout << "Ââåäèòå Г¬Г*Г±Г±ГЁГў:\n";
    
    while (std::cin>>i)
    {sum+=i; schet++;}
    
    std::cout << "ÐåçóëüòГ*ГІ: " << sum/schet << std::endl;
 
    system("PAUSE");
    return 0;
}
Миниатюры
Подскажите пожалуйста где исправить ошибку в программе сделанную в C++  
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
22.10.2011, 01:03     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #12
Цитата Сообщение от KeyGen Посмотреть сообщение
Что-то я не то нашел))

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    int i, schet=0;
    double sum;
    
    std::cout << "Ââåäèòå Г¬Г*Г±Г±ГЁГў:\n";
    
    while (std::cin>>i)
    {sum+=i; schet++;}
    
    std::cout << "ÐåçóëüòГ*ГІ: " << sum/schet << std::endl;
 
    system("PAUSE");
    return 0;
}
надо бы и sum = 0 для начала
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
22.10.2011, 14:35     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #13
Вот вариант с массивом
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <vector>
using namespace std;
void main(){
    setlocale(LC_ALL,"rus");
    vector<int> mas; int c, a, sum=0;
    cout<<"Введите кол-во элементов "; cin>>c;
    for(int i=0;i<c;i++) 
        {cout<<"Введите элемент "; cin>>a; mas.push_back(a); sum+=mas[i];}
    cout<<(float)sum/c<<endl;}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2011, 07:58     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++
Еще ссылки по теме:

Исправить ошибку в программе C++
Подскажите, пожалуйста, как исправить ошибку C++
C++ Подскажите, как исправить 1 ошибку в программе?

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

Или воспользуйтесь поиском по форуму:
Leon92
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 5
27.10.2011, 07:58  [ТС]     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ #14
Всем огромное спасибо за помощь, мне надо было только sum=0 и всё
Yandex
Объявления
27.10.2011, 07:58     Подскажите пожалуйста где исправить ошибку в программе сделанную в C++
Ответ Создать тему
Опции темы

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