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

Среднее арифметическое массива выводит как int число - C++

Восстановить пароль Регистрация
 
Staffi
 Аватар для Staffi
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 26
09.02.2014, 23:08     Среднее арифметическое массива выводит как int число #1
среднее арифметическое массива выводит как intовое число!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 23:08     Среднее арифметическое массива выводит как int число
Посмотрите здесь:

C++ Среднее арифметическое массива
C++ Программа на С, которая вводит число типа int с клавиатуры, преобразует ее в строку (str), выводит на дисплей число и строку.
C++ Сформировать массив X из элементов массива A, значения которых не превышают среднее арифметическое массива A
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое п C++
Пользователь вводит с клавиатуры 5 чисел. Программа выводит на экран их среднее арифметическое C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Staffi
 Аватар для Staffi
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 26
09.02.2014, 23:09  [ТС]     Среднее арифметическое массива выводит как int число #2
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
35
36
37
38
39
40
41
42
#include <iostream>
#include <time.h>
using namespace std;
void fm(int a[], int count){
    int sum = 0;
    for (int i = 0; i<count; i++)
        a[i] = rand() % 10;
 
}
void print(int a[], int count){
 
    for (int i = 0; i<count; i++)
        cout << a[i] << "\t";
    cout << endl;
}
 
float sred(int a[], int count){
    int total = 0;
    float sa = 0;
    for (int i = 0; i < count; i++){
 
        if (i >= 0){
            total += a[i];
            sa =float( total / count);
        }
        
    }
    cout << total<<"summa"<<endl;
    return sa;
 
}
void main(){
    srand(time(NULL));
    const int n = 10;
    int mas[n]; 
    float z = 0;
 
    fm(mas, n);
    print(mas, n);
    z = sred(mas, n);
    cout << z;
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
09.02.2014, 23:12     Среднее арифметическое массива выводит как int число #3
Staffi,
C++
1
2
3
4
5
6
7
8
9
float sred(int a[], int count){
    int total = 0;
    float sa = 0;
    for (int i = 0; i < count; i++)
            total += a[i];
    sa = (float)( (float)total / count);
    cout << total<<"summa"<<endl;
    return sa;
}
Staffi
 Аватар для Staffi
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 26
10.02.2014, 01:51  [ТС]     Среднее арифметическое массива выводит как int число #4
KOPOJI, спасибо разобрался
считал что это intовое выводит ток сумму . пасиб

Добавлено через 1 минуту
cooller_94, пасиб разобрался..

Добавлено через 8 минут
Цитата Сообщение от cooller_94 Посмотреть сообщение
sa = (float)( (float)total / count);
можете мне недалекому обьяснить эту запись правильно? если не затруднит
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
10.02.2014, 02:06     Среднее арифметическое массива выводит как int число #5
Цитата Сообщение от Staffi Посмотреть сообщение
Сообщение от cooller_94
sa = (float)( (float)total / count);
можете мне недалекому обьяснить эту запись правильно? если не затруднит
(float) - явное преобразование типов.
у тебя переменные total и count объявлены как int. То есть получается что ты делишь int на int, и соотвецтвенно результат также будет типа int.
Можно также записать так
C++
1
sa = ((float)total / count);
gunslinger
случайный прохожий
 Аватар для gunslinger
1097 / 715 / 184
Регистрация: 20.07.2013
Сообщений: 1,969
10.02.2014, 03:12     Среднее арифметическое массива выводит как int число #6
Или
C++
1
sa = 1. * total / count;  // либо 1.0 вместо 1.
Yandex
Объявления
10.02.2014, 03:12     Среднее арифметическое массива выводит как int число
Ответ Создать тему
Опции темы

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