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

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

Войти
Регистрация
Восстановить пароль
 
Userock
-1 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 11
#1

Среднее значение дробей! - C++

07.08.2013, 16:28. Просмотров 301. Ответов 3
Метки нет (Все метки)

Здравствуйте написал программку вот:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// first_steps.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream> // для cout, cin, endl, cin.get();
using namespace std;
 
//.......................................................
 
class fraction
{
private:
  int chislitel;
  int znamenatel;
public:
  void Vvod_drobi();
  void Vivod_drobi();
  void Srednee(fraction m[], int const);
};
void fraction::Vvod_drobi()
{
cin >> chislitel;
cout << "/\n";
cin >> znamenatel;
}
void fraction::Vivod_drobi()
{
cout << "---------------\nSrednee znachenie: \n" 
     <<chislitel << endl << "/" << endl << znamenatel;
}
void fraction::Srednee(fraction m[], int const M)
{
   for(int i = 0; i < M - 1; i++)
    {
       chislitel  = m[i].znamenatel * m[i+1].chislitel + m[i+1].znamenatel * m[i].chislitel;
       znamenatel = m[i].znamenatel * m[i+1].znamenatel;
       m[i+1].chislitel = chislitel;
       m[i+1].znamenatel = znamenatel;
    }
   znamenatel *= M;
}
int main()
{
int const MAX = 3;
fraction mas[MAX];
fraction s;
cout << "Vichislenie srednego arifmeticheskogo drobey!!!\n";
//Вводим дроби
for(int i = 0; i < MAX; i++)
{
cout << "Vvedite " << i+1 << " drob: \n";
mas[i].Vvod_drobi();
}
//Вычисляем среднее значение дробей
s.Srednee(mas, MAX);
//Выводим результат
s.Vivod_drobi();
/////////////Завершение при вводе//////////////
cout << endl;
system("pause");
}
Можно ли как-то сделать количество вводимых дробей не константой а переменной?
Я понимаю что с массивом не прокатит... Как это делается??? (пока не знаю что такое указатели).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2013, 16:28     Среднее значение дробей!
Посмотрите здесь:

C++ Среднее арифметическое дробей
C++ Среднее значение полученных чисел, количество значений в массиве, превышающих среднее
C++ программа, которая бы вычисляла среднее значение, максимальный и минимальный элемент второй колонки Excel и выводила это значение на экран
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
C++ Среднее значение
C++ Среднее значение
Подскажите как добавить вычесленное среднее значение из подпрограммы 1, в подпрограмму 2, а то в подпрограмме 2 берет среднее значение = 0 C++
Замена всех элементов массива, значение которых превышает среднее значение, максимальным элементом C++
C++ Найти среднее арифметическое значение четных элементов и среднее арифметическое нечетных элементов и сравнить их между собой
Найти столбик, в котором среднее арифметическое значение из положительных элементов имеет минимальное значение C++
Найти среднее значение чисел, а также количество значений в массиве, превышающих среднее C++
Среднее значение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
07.08.2013, 16:31     Среднее значение дробей! #2
Цитата Сообщение от Userock Посмотреть сообщение
(пока не знаю что такое указатели).
тогда никак
и вообще функция вычисления среднего не должна быть методом класса! Зачем объекту выполнять действие, совершенно не относящееся к нему, а относящееся к какому-то внешнему массиву?
А хотя... чёрт её знает.
Userock
-1 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 11
07.08.2013, 16:33  [ТС]     Среднее значение дробей! #3
Кратко и понятно... берусь за указатели СПС
т.е. лучше функцию создать... понял)
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
07.08.2013, 16:47     Среднее значение дробей! #4
Не, можно, конечно так сделать.
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
fraction fraction::set(int ch, int zn){
  chislitel=ch;
  znamenatel=zn;
}
fraction sum(fraction a, fraction b){
  fraction s;
  s.set( a.znamenatel * b.chislitel + b.znamenatel * a.chislitel, a.znamenatel * b.znamenatel);
  return s;
}
fraction div(fraction a, int n){
  fraction s;
  s.set( a.chislitel/n, a.znamenatell);
  return s;
}
fraction input_average(){
  int i=0;
  char answer;
  bool stop=false;
  fraction f, summa;
  summa.set(0, 1);
    
  do
    {
     cout<<"Введите дробь №"<<i<<": ";
     f.Vvod_drobi();
     summa=sum(f, summa);
     cout<<"ещё? (y/n)"
     cin>>answer;
     stop=(answer=='n');
     i++;
    }while(!stop);
    return div(summa, i);
   
}
Yandex
Объявления
07.08.2013, 16:47     Среднее значение дробей!
Ответ Создать тему
Опции темы

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