0 / 0 / 2
Регистрация: 16.12.2013
Сообщений: 19
1

Ввод-вывод элементов одномерного массива

03.05.2014, 19:45. Показов 3247. Ответов 3
Метки нет (Все метки)

Помогите написать программу для ввода элементов одномерного массива, вывода этого массива на экран. Вычислить среднее арифметическое значение элементов между максимальным и минимальным элементами.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2014, 19:45
Ответы с готовыми решениями:

Разработайте программу, в которой организован ввод элементов одномерного массива и вывод данных элементов
Разработайте программу, в которой организован ввод элементов одномерного массива и вывод данных...

Ввод\вывод одномерного массива (printf)
Одномерный массив x с 4-мя элементами Ввод идет нормально, а вот вывод - всегда 0, в чем проблема?...

Считывание и вывод одномерного массива из NxM элементов
Описать и вызвать функцию, считывающую с клавиатуры одномерный массив из NxM вещественных чисел....

Рекурсия: вывод на экран элементов одномерного массива
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива Вот что я...

3
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
03.05.2014, 19:51 2
Blackhole, с чем возникли трудности?
0
542 / 163 / 79
Регистрация: 23.09.2013
Сообщений: 316
03.05.2014, 20:33 3
Лучший ответ Сообщение было отмечено Blackhole как решение

Решение

Сейчас помогу, немного терпения.

Добавлено через 13 минут
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include <iostream>
#include <algorithm>
#include <assert.h>
 
 
int GetIntValueFromUser() {
  int value = 0;
  std::cin >> value;
  return value;
}
 
int GetSizeOfArrayFromUser() {
  std::cout << "Please input size of array." << std::endl;
  int size_of_array = GetIntValueFromUser();
  std::cout << "Size of array is: " << size_of_array << std::endl;
  return size_of_array;
}
 
bool IsSizeOfArrayCorrect(int size_of_array) {
  return size_of_array > 0;
}
 
void ShowIncorrectSizeOfArrayMessage() {
  std::cout << "You input incorrect size of array" << std::endl;
}
 
void ShowTryAgainMessage() {
  std::cout << "Try again" << std::endl;
}
 
int *AllocateArray(int size_of_array) {
  int *array = new int[size_of_array];
  return array;
}
 
void Deallocatearray(int *array) {
  if (array) {
      delete[] array;
    }
}
 
void ShowFillArrayMessage(int size_of_array) {
  std::cout << "Please input " << size_of_array << " values to fill array"
            << std::endl;
}
 
void ShowCurrentIteration(int iteration) {
  std::cout << "Filling iteration : " << iteration << std::endl;
}
 
void ShowArrayFillCongratulations() {
  std::cout << "Array filled successfully!" << std::endl;
}
 
void FillArrayFromUserInput(int size_of_array, int *&array) {
  ShowFillArrayMessage(size_of_array);
  for (int i = 0; i < size_of_array; ++i) {
      ShowCurrentIteration(i);
      array[i] = GetIntValueFromUser();
    }
}
 
void GetArrayFromUser(int &size_of_array, int *&array_from_user) {
  bool got_correct_array = false;
  while(!got_correct_array) {
      size_of_array = GetSizeOfArrayFromUser();
      if (IsSizeOfArrayCorrect(size_of_array)) {
          array_from_user = AllocateArray(size_of_array);
          FillArrayFromUserInput(size_of_array, array_from_user);
          got_correct_array = true;
        } else {
          ShowIncorrectSizeOfArrayMessage();
          ShowTryAgainMessage();
        }
    }
}
 
void ShowNoPointerErrorMessage() {
  std::cout << "Error: no pointer given!" << std::endl;
}
 
bool IsArrayCorrect(const int *array) {
  return array != NULL;
}
 
 
void ShowAllFieldOfCorrectArray(int size_of_array, const int *array) {
  for(int i = 0; i < size_of_array; ++i) {
      std::cout << "array[" << i << "] = " << array[i] << std::endl;
    }
}
 
void ShowArray(int size_of_array, const int *array) {
  if (!IsArrayCorrect(array)) {
      ShowNoPointerErrorMessage();
    } else {
      ShowAllFieldOfCorrectArray(size_of_array, array);
    }
}
 
int GetMaxiamalFromArray(int size_of_array, const int *array) {
  assert(size_of_array > 0);
  assert(array);
  int max = array[0];
  for(int i = 1; i < size_of_array; ++i) {
      max = std::max(max, array[i]);
    }
  return max;
}
 
int GetMinimalFromArray(int size_of_array, const int *array) {
  assert(size_of_array > 0);
  assert(array);
  int min = array[0];
  for(int i = 1; i < size_of_array; ++i) {
      min = std::min(min, array[i]);
    }
  return min;
}
 
double GetAverage(int first, int second) {
  double average = static_cast<double>((first + second)) / 2;
  return average;
}
 
bool IsSizeCorrect(int size) {
  return size > 0;
}
 
void ShowIncorrectArrayAverageError() {
  std::cout << "Error: Incorrect array given, can't find average" << std::endl;
}
 
double FindAverageOfMinimalAndMaximalElements(int size_of_array,
                                           const int *array) {
  double average = GetAverage(GetMinimalFromArray(size_of_array, array),
                           GetMaxiamalFromArray(size_of_array, array));
  return average;
}
 
void ShowAverage(double average) {
  std::cout << "Average of minimal and maximal elements is : " << average
               << std::endl;
}
 
void ShowAverageFromArray(int size_of_array, const int *array) {
  if (IsArrayCorrect(array) && IsSizeCorrect(size_of_array)) {
      double average = FindAverageOfMinimalAndMaximalElements(size_of_array,
                                                              array);
      ShowAverage(average);
    } else {
      ShowIncorrectArrayAverageError();
    }
}
 
int main(int argc, char **argv) {
  (void)argc;
  (void)argv;
  int size_of_array = 0;
  int *array_from_user = NULL;
  GetArrayFromUser(size_of_array, array_from_user);
  ShowArray(size_of_array, array_from_user);
  ShowAverageFromArray(size_of_array, array_from_user);
  Deallocatearray(array_from_user);
  return 0;
}
Писал на скорую руку, не судите строго.
1
Supernatural
03.05.2014, 20:37     Ввод-вывод элементов одномерного массива
  #4

Не по теме:

Melg, это шутка или нет? Задачу же можно решить попроще)))

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2014, 20:37

С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива

Рекурсия (вычисление суммы, вывод элементов одномерного массива в обратном порядке)
Я хочу реализовать рекурсивные функции:1)вычисления суммы k первых членов арифметической...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых...


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

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

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