Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
~AuthoR~
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 26
#1

Вывести массив, предварительно удалив элементы меньшие среднего арифметического - C++

03.01.2011, 12:08. Просмотров 996. Ответов 8
Метки нет (Все метки)

Необходимо ввести массив вещественных чисел и вывести его, предварительно удалив элементы меньшие среднего арифметического.
Буду благодарен за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 12:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести массив, предварительно удалив элементы меньшие среднего арифметического (C++):

Получить новый массив, содержащий те элементы, которые меньше среднего арифметического, удалив их из исходного - C++
Дан массив a1,...,a50. Получить новый массив, содержащий те элементы, которые меньше среднего арифметического, удалив их из исходного.

Матрицы. Найти элементы, меньшие среднего арифметического - C++
Вот задача, мне срочно нужна ваша помощь... С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти элементы...

Найти элементы матрицы, меньшие среднего арифметического - C++
Как написать два цикла в одно, при выводе наименьшего среднего арифметического? //* С клавиатуры вводится размерность целочисленной...

Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие. - C++
Дан целочисленный массив, состоящий из 15 элементов. Сформировать другой массив, в который поместить сначала числа меньшие среднего...

Записать элементы, которые больше среднего арифметического, в новый массив - C++
В общем есть программа, которая находит среднее арифметическое и записывает элементы, которые больше среднего арифметического в новый...

Вывести на экран элементы массива, которые больше среднего арифметического всех его элементов - C++
Ребят помогите пожалуйста решить два массива, а то мне трудно они даються=) 1)Дан массив А из N элементов. Вывести на экран элементы...

8
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
03.01.2011, 12:33 #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 <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int n=10;
    float a[n] = {1.1, 5.3, 3.2, 6.1, 3.2, 7.5, 9.1, 10.2, 0.5, 0.2};
    float sr, sum;
    int k=0, j=0;
 
        
    for(int i=0; i<n; i++)
       sum += a[i];
    sr = sum / n;
    
    for(int i=0; i<n; i++)
        if(a[i] < sr) k++;
    
    float* b = new float[k];
    for(int i=0; i<n; i++)
       if(a[i] > sr)
       {
             b[j] = a[i];
             j++;
       }
    cout << "Massiv a\n";
    for(int i=0; i<n; i++)  
       cout << a[i] << " ";
     cout << "\n\n"; 
     
     cout << "srednee arifmeticheskoe = " << sr << "\n\n"; 
    
    cout << "massiv b\n";
    for(int i=0; i<k; i++)  
       cout << b[i] << " ";
     cout << "\n";      
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
~AuthoR~
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 26
03.01.2011, 12:38  [ТС] #3
Программу выкидывает Пишет, что ошибка
0
lemegeton
2931 / 1360 / 136
Регистрация: 29.11.2010
Сообщений: 2,725
03.01.2011, 12:42 #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
35
36
37
38
39
40
41
42
43
44
45
/*
 * ввести массив вещественных чисел и вывести его, предварительно удалив
 * элементы меньшие среднего арифметического. 
 */
#include <cstdio>
#include <cstddef>
#include <cstdlib>
#include <ctime>
 
int main(int argc, char *argv[]) {
  const size_t k_array_size = 10;
  double array[k_array_size];
 
  srand(time(NULL));
  for (size_t i = 0; i < k_array_size; ++i) {
    // тут, наверно, нужно ввод сделать лапками, вместо
    // заполнения случайными значениями, но мне лень
    array[i] = (rand() % 1000) / 100;
    printf("%f ", array[i]);
  }
  printf("\n\n");
 
  double arithmetic_mean = 0;
  for (size_t i = 0; i < k_array_size; ++i)
    arithmetic_mean += array[i];
  arithmetic_mean /= k_array_size;
  printf("%f\n\n", arithmetic_mean);
 
  size_t new_array_size = k_array_size;
  for (size_t i = 0; i < new_array_size; ++i)
    if (array[i] < arithmetic_mean) {
      for (size_t j = i+1; j < new_array_size; ++j)
        array[j-1] = array[j];
      --new_array_size;
      --i;
    }
 
  for (size_t i = 0; i < new_array_size; ++i)
    printf("%f ", array[i]);
  printf("\n");
 
  int key;
  scanf("%d", &key);
  return 0;
}
0
~AuthoR~
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 26
03.01.2011, 12:46  [ТС] #5
А что значит "ввод сделать лапками"?)
0
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
03.01.2011, 12:51 #6
~AuthoR~, Какую ошибку? Конкретней.


Цитата Сообщение от ~AuthoR~ Посмотреть сообщение
А что значит "ввод сделать лапками"?)
т.е самому заполнить массив.
0
~AuthoR~
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 26
03.01.2011, 13:02  [ТС] #7
Когда начинается компиляция, вылезает окошко Debug Error

Добавлено через 8 минут
А если запускать не через ctrl+F5 то вообще break вылезает=\
0
igorrr37
1836 / 1454 / 224
Регистрация: 21.12.2010
Сообщений: 2,403
Записей в блоге: 11
03.01.2011, 13:21 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<stdio.h>
using namespace std;
 
int main()
{
    float n, ave=0;
    cout<<"enter n\n";
    cin>>n;
    float *mas=new float[(int)n];
    for(int i=0;i<(int)n;i++){
        printf("mas[%d]= ", i);
        cin>>mas[i];
        ave+=mas[i]/n;
    }
    cout<<"\naverage= "<<ave<<"\n\n";
    for(int i=0;i<(int)n;i++){
        if(mas[i]>=ave)cout<<mas[i]<<", ";
    }
}
1
~AuthoR~
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 26
03.01.2011, 13:23  [ТС] #9
Огромное спасибо!^^
0
03.01.2011, 13:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2011, 13:23
Привет! Вот еще темы с ответами:

Вывести строку, удалив предварительно повторяющиеся слова - C++
Ввести строку. Вывести её, удалив предварительно повторяющиеся слова. Очень нужна помощь!!!

Вывести в отдельный массив элементы, меньшие заданного числа А - C++
Вывести в отдельный массив элементы, меньшие заданного числа А #include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; int...

Уничтожить все элементы больше среднего арифметического элементов массива - C++
1. Уничтожить все элементы больше среднего арифметического элементов массива. 2. Сдвинуть циклически на M элементов вправо.

В векторе все элементы, большие среднего арифметического, заменить нулями - C++
В векторе x є Rn все элементы, которые больше среднего арифметическое заменить нулями Помогите понять и решить задание. Как понять у...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru