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

Нужно переделать код под функции (одномерный массив) - C++

Восстановить пароль Регистрация
 
Slam893
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 4
20.01.2013, 22:15     Нужно переделать код под функции (одномерный массив) #1
«Однoмерные маcсивы», оформить каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
int main()
{
 
 
 
const int N=10;
int i,i_1, i_2;
double s,min,massiv[N]={-4.0, -5.3, 3, 7, 9.8, 1, 1, -2.4, -6, 3};    //Описание массива
 
 
for(i=0;i<N;i++)    //Вывод массива
cout<<"\n massiv["<<i<<"] = "<<massiv[i];  
 
 
min=massiv[0];
 
for(i=0; i<N; i++)
{
 if(massiv[i]<min)
 min=massiv[i];
}
cout<<"\n  Min="<<min<<'\n';
 
for(i=0;i<N;i++)
{
 if(massiv[i]>0)
 {
  i_1=i;break;
 }
}
 
for(i=N-1;i>=0;i--)
{
 if(massiv[i]>0)
 {
  i_2=i;break;
 }
}
cout<<i_1<<" "<<i_2<<endl;
s=0;
for(i=i_1+1;i<i_2;i++)
 {
 s+=massiv[i];
 }
 cout<<"Sum="<<s;
 
_getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 22:15     Нужно переделать код под функции (одномерный массив)
Посмотрите здесь:

Переделать одномерный массив под функцию C++
Код написан в Dev C. Не работает в Visual. Как нужно переделать код? C++
C++ Однонаправленный список: переделать код под консоль
C++ Нужно переделать программу с С++ под С
Под С++ нужно переделать C++
Нужно переделать под 2х мерный массив C++
C++ Как переделать код?. Нужно сделать через функции пользователя
Переделать код под Visual studio, С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sergey_B
163 / 163 / 14
Регистрация: 08.01.2013
Сообщений: 335
21.01.2013, 10:49     Нужно переделать код под функции (одномерный массив) #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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <locale.h>
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");
 
    double* InputMas(int n); //ф-ция ввода массива 
    void ShowMas(int n, double *mas); //ф-ция вывода массива на дисплей
    double MinValue(int n, double *mas); //ф-ция поиска минимального значения в массиве
    double MaxValue(int n, double *mas); //ф-ция поиска максимального значения в массиве
    int IndexOfTheFirstPositiv(int n, double *mas); //ф-ция возвращающая индекс первого положительного элемента
    int IndexOfTheLastPositiv(int n, double *mas); //ф-ция возвращающая индекс последнего положительного элемента
    double Sum(int n, double *mas); //ф-ция вычисляющая сумму эл-ов массива
 
    int n=0; //количество элементов массива
    while (n<=0)
    {
        cout<<"Введите размерность маcсива:\n";
        cin>>n;
    }
    double* arr = InputMas(n); //исходный массив
    
    cout<<"\nИсходный маcсив: ";
    ShowMas(n, arr);
 
    double min = MinValue(n, arr);
    cout<<"\nМинимальное значение в маcсиве: "<<min;
 
    double max = MaxValue(n, arr);
    cout<<"\nМаксимальное значение в маcсиве: "<<max;
 
    int first = IndexOfTheFirstPositiv(n, arr);
    cout<<"\nИндекс первого положительного элемента в массиве: "<<first;
 
    int last = IndexOfTheLastPositiv(n, arr);
    cout<<"\nИндекс последнего положительного элемента в массиве: "<<last;
 
    double sum = Sum(n, arr);
    cout<<"\nСумма элементов массвива:"<<sum<<endl;
 
   
            
}
//ф-ция ввода массива 
 double* InputMas(int n)
 {
     double *mas = new double[n];
     for (int i=0; i<n; i++)
     {
         cout<<"\nВведите "<<i<<" элемент: ";
         cin>>mas[i];
     }
 
     return mas;
 }
 //ф-ция вывода массива на дисплей
  void ShowMas(int n, double *mas)
    {
        for(int i=0;i<n;i++)
        {           
            cout<<mas[i]<<" ";
        }
        cout<<endl;
    }
  //ф-ция поиска минимального значения в массиве
  double MinValue(int n, double *mas)
  {
      double min = mas[0];
      for (int i=0; i<n;i++)
      {
          if (mas[i]<min)
          {
              min=mas[i];
          }
      }
      return min;
  }
 
  //ф-ция поиска максимального значения в массиве
    double MaxValue(int n, double *mas)
  {
      double max = mas[0];
      for (int i=0; i<n;i++)
      {
          if (mas[i]>max)
          {
              max=mas[i];
          }
      }
      return max;
  }
 
    //ф-ция возвращающая индекс первого положительного элемента
    int IndexOfTheFirstPositiv(int n, double *mas)
    {
        int index=-1;
        for (int i=0; i<n; i++)
        {
            if (mas[i]>0)
            {
                index=i;
                break;
            }
            
        }
 
        return index;
    }
 
 //ф-ция возвращающая индекс последнего положительного элемента
    int IndexOfTheLastPositiv(int n, double *mas)
    {
        int index=-1;
        for (int i=n-1; i>=0; i--)
        {
            if (mas[i]>0)
            {
                index=i;
                break;
            }
            
        }
        return index;
    }
    //ф-ция вычисляющая сумму эл-ов массива
    double Sum(int n, double *mas)
    {
        double result = 0.0;
        for (int i=0; i<n; i++)
        {
            result+=mas[i];
        }
        return result;
    }
Миниатюры
Нужно переделать код под функции (одномерный массив)  
Yandex
Объявления
21.01.2013, 10:49     Нужно переделать код под функции (одномерный массив)
Ответ Создать тему
Опции темы

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