4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 84
1

Создание функций для работы с массивами

22.04.2012, 13:37. Показов 724. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая: Надо написать программу, которая создаст(первая функция), покажет(вторая функция) и вычислит среднее значение элементов... Проблема, в том, что надо сделать возможность досрочного завершения ввода... Я его сделал, но при расчете среднего возникает ошибка... В общем, смотрите код:
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
//---------------------------------------------------------------------------
#include <iostream.h>
#include <string.h>
#include <vcl.h>
#pragma hdrstop
const int MAX = 10;
 
//---------------------------------------------------------------------------
int * vvod(void);
int show(const int *);
double srednee(int *, int);
#pragma argsused
int main(int argc, char* argv[])
{
 int *pi = vvod();
 int show( pi);
 cout<<endl;
 double sr = srednee(pi, times );
 cout<<"Srednee value all games is: ";
 cout<<sr<<endl;
 system("pause");
        return 0;
}
 
int * vvod()
 {
  int *p_arr = new int[MAX];
  cout<<"Enter value of game (q for exit): "<<endl;
   for( int i = 0;i<MAX;i++)
    {
     cin>>p_arr[i];
     if (cin.fail() == true )
      {
       break;
      }
 
    }
   cin.clear();
   return p_arr;
 }
  int show(const int *pi)
   {
    int i = 0;
 
    for( i =0;i<sizeof pi+1;i++)//Понял, что sizeof = 4 и слил эту затею :))
     cout<<pi[i]<<" ";
    return i;
   }
 
double srednee(int *pi, int times)
 {
  double sum;
    for(int i =0;i<times;i++)
     {
      sum+=pi[i];
     }
   return sum/times;
 }
//---------------------------------------------------------------------------
Надо бы узнать размер массива...Причем делать это динамически...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2012, 13:37
Ответы с готовыми решениями:

Шаблоны функций для работы с массивами
Написал код решения задачки: Условие: Написать шаблоны функции (int, double, char) для выполнения...

Использование функций для работы с одномерными и двухмерными массивами
Всем привет=) Помогите с решением! Плиз, очень надо! Условие: Дана матрица размера M × N....

Использование функций для работы с одномерными и двухмерными массивами
Привет всем!!!Помогите решить задачу=) Дано целое число N (&gt; 1), а также первый член A и...

Разработать библиотеку функций для работы с массивами дробных чисел
Ребята помогите , как создать свою библиотеку с функциями! Заранее спасибо)

1
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
22.04.2012, 16:41 2
Надо бы узнать размер массива...Причем делать это динамически...
Размер массива - столько, сколько выделили с помощью new[] (MAX). И где delete[]? делаете new[] - делайте delete[], или не работайте с дин. памятью. Аналогично new/delete.
C++
1
double sr = srednee(pi, times );
Непонятно, что за переменную 'times' вы передаёте в фунцию, ведь она ранее не объявлена.
C++
1
2
3
double srednee(int *pi, int times)
{
double sum;
В 'sum' будет мусор, т.к. не инициализировали, а потом ещё что-то к нему прибавляете.
0
22.04.2012, 16:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2012, 16:41
Помогаю со студенческими работами здесь

Создание класса для работы с массивами чисел
Сделать класс для работы с массивами чисел. У класса должно быть 5 метода. 1. Получение...

Создание шаблонной функции для работы с массивами разных типов данных
Здравствуйте. Столкнулся со следующей проблемой: не могу написать шаблонную функцию подсчета суммы...

Использование стандартных функций для работы с массивами
Дана действительная квадратная матрица размера NxM Преобразовать матрицу следующим образом:...

Подскажите синтаксис функций и процедур для работы с массивами
Не получается написать функцию/процедуры, которая принимает статический массив (и в случае с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru