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

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

Войти
Регистрация
Восстановить пароль
 
Leon92
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 5
#1

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

21.10.2011, 20:52. Просмотров 790. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2011, 20:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ (C++):

Подскажите, как исправить 1 ошибку в программе? - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; double min = 0; /* зовнiшня змiнна */ int...

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:05 #2
Sum инициализируй нулем, отсчет элементов в массиве начинается с нуля, до n - 1, в третьей снизу строчке пропущен < у cout.
Вроде больше не заметил ошибок.

Добавлено через 2 минуты
Также, отсутствие std::, хотя это в большей степени зависит от того, как вам преподают плюсы. Если же вы сами учите их по книге, то прочитайте про std:: обязательно.
1
VMV
8 / 8 / 0
Регистрация: 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
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.10.2011, 21:06 #4
Строчка #12(если не ошибаюсь), уберите endl;, он вам ничего не даст.
1
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
21.10.2011, 21:07 #5
еще строку endl; надо убрать
1
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
21.10.2011, 21:08 #6
Цитата Сообщение от Leon92 Посмотреть сообщение
программа работает но выдает не правильный результат
что-то сомневаюсь что это работает)
0
-comrade-
355 / 356 / 42
Регистрация: 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
Olga_
841 / 183 / 16
Регистрация: 01.08.2011
Сообщений: 502
21.10.2011, 21:17 #8
-comrade-, все же тогда и делить после цикла надо. Во первых, только одно деление будет, а во вторых, точность выше будет)
1
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
21.10.2011, 21:28 #9
Olga_, как вам больше нравится
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 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++  
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 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++  
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
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
anonimious
13 / 13 / 2
Регистрация: 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
Leon92
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 5
27.10.2011, 07:58  [ТС] #14
Всем огромное спасибо за помощь, мне надо было только sum=0 и всё
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2011, 07:58
Привет! Вот еще темы с ответами:

Исправить ошибку в программе - C++
здравствуйте,помогите пожалуйста,выдает ошибку в этой строке if (q==j) #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

Исправить ошибку в программе. - C++
#include&lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; using namespace std; int main() {double A; int...

Исправить ошибку в программе - C++
Друзья, помогите с программой, точнее, помогите её исправить. Программа должна искать числа палиндромы на заданном интервале. Но, она...

Исправить ошибку в программе - C++
Помогите исправить ошибку в этой задаче Одноклеточная амеба каждые три часа делится на 2 клетки. Определить сколько клеток будет...


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

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

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