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

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

21.10.2011, 20:52. Просмотров 939. Ответов 13
Метки нет (Все метки)

Привет всем! У меня случилась одна не большая проблема. Дело в том, что мне задали написать программу: Дан одномерный массив 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, то есть не правильно выдает ответ, и прошу пожалуйста скажите где ошибка или нужно что-то добавить ? заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2011, 20:52
Ответы с готовыми решениями:

Подскажите, как исправить 1 ошибку в программе?
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; double min = 0; ...

Подскажите, пожалуйста, как исправить ошибку
Условие задачи: Разработать программу для работы с БД, которая обеспечивает автоматизированную...

Подскажите, как исправить ошибку, пожалуйста
Код учебный. Задали исправить ошибки. Меня смущает вот этот кусок. double Sum4(double (*A),int...

Вот код, подскажите как исправить ошибку, пожалуйста???
Вот вибивает такие ошибки: 1&gt;c:\users\user\desktop\ооп 6\ооп 6\ооп6.cpp(40) : error C2661: D3::...

13
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:05 2
Sum инициализируй нулем, отсчет элементов в массиве начинается с нуля, до n - 1, в третьей снизу строчке пропущен < у cout.
Вроде больше не заметил ошибок.

Добавлено через 2 минуты
Также, отсутствие std::, хотя это в большей степени зависит от того, как вам преподают плюсы. Если же вы сами учите их по книге, то прочитайте про std:: обязательно.
1
8 / 8 / 2
Регистрация: 08.10.2011
Сообщений: 28
21.10.2011, 21:06 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;
}
1
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:06 4
Строчка #12(если не ошибаюсь), уберите endl;, он вам ничего не даст.
1
Форумчанин
Эксперт CЭксперт С++
8154 / 5004 / 1436
Регистрация: 29.11.2010
Сообщений: 13,460
21.10.2011, 21:07 5
еще строку endl; надо убрать
1
237 / 210 / 84
Регистрация: 18.03.2010
Сообщений: 750
21.10.2011, 21:08 6
Цитата Сообщение от Leon92 Посмотреть сообщение
программа работает но выдает не правильный результат
что-то сомневаюсь что это работает)
0
363 / 364 / 167
Регистрация: 11.06.2010
Сообщений: 703
21.10.2011, 21:14 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;
}
1
846 / 188 / 18
Регистрация: 01.08.2011
Сообщений: 505
21.10.2011, 21:17 8
-comrade-, все же тогда и делить после цикла надо. Во первых, только одно деление будет, а во вторых, точность выше будет)
1
363 / 364 / 167
Регистрация: 11.06.2010
Сообщений: 703
21.10.2011, 21:28 9
Olga_, как вам больше нравится
0
386 / 293 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
22.10.2011, 00:55 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;
}
1
Миниатюры
Подскажите пожалуйста где исправить ошибку в программе сделанную в C++  
386 / 293 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
22.10.2011, 01:02 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;
}
1
Миниатюры
Подскажите пожалуйста где исправить ошибку в программе сделанную в C++  
Форумчанин
Эксперт CЭксперт С++
8154 / 5004 / 1436
Регистрация: 29.11.2010
Сообщений: 13,460
22.10.2011, 01:03 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 для начала
2
13 / 13 / 4
Регистрация: 17.10.2011
Сообщений: 54
22.10.2011, 14:35 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;}
1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 5
27.10.2011, 07:58  [ТС] 14
Всем огромное спасибо за помощь, мне надо было только sum=0 и всё
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2011, 07:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как исправить ошибку.подскажите пожалуйста. прога ломается на 79 строке
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int...

Пожалуйста покажите где ошибка и как ее исправить. Пожалуйста
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt;...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int...

исправить ошибку в программе
Как переместить этот треугольник из 1 в правый верхний угол? #include &lt;iostream&gt; ...


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

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

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