Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 01.02.2013
Сообщений: 48
1

Заменить элементы массива со значениями в заданном интервале на среднее арифметическое значение массива

01.04.2016, 14:44. Показов 2192. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одномерном массиве A (n) заменить элементы меньше заданного K и больше
от заданного L на среднее арифметическое значение массива, где 0 <= n <= 45 и K> L.

Ввод-вывод массива выполнить в функции main, а обработку в отдельной функции.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2016, 14:44
Ответы с готовыми решениями:

Заменить отрицательные элементы массива на среднее арифметическое значение чисел этого массива
Дано натуральное число N и одномерный массив A1, A2, ..., AN целых чисел. Заменить отрицательные...

Заменить все отрицательные элементы на среднее арифметическое значение элементов массива
ввести двухмерный массив A(N,N) Создать программу замены всех негативных элементов на среднее...

Вычислить среднее арифметическое элементов массива произвольной длины, находящихся в заданном интервале
Помогите пожалуйста: Напишите программу решения следующей задачи: Вычислить среднее арифметическое...

Заменить все положительные элементы массива на среднее арифметическое элементов массива
2.Дан массив из N элементов, заданных случайным образом на промежутке (-30;20). Заменить все...

5
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
01.04.2016, 14:53 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
#include <iostream>
#include <iomanip>
#include <cstdlib>
 
int main (void){
    int a[45];
    int sum=0;
    for (int i = 0; i < 45;i++) {
      a[i] = -10 + rand () % 20;
      std::cout<<a[i]<<" ";
      sum++;
    }
    sum=sum/45
    int k,l;
    std::cin>>k;
    std::cin>>l;
    for (int i = 0; i < 20;i++) {
        if((a[i]<k)||(a[i]>l)){
            a[i] = sum;
        }
    }
    for (int i = 0; i < 20;i++) {
    std::cout << a[i]<<" ";
    }
    return 0;
}
Bohdan6, по отдельным функциям, и динамический массив как нибудь сами ...
0
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
01.04.2016, 14:55 3
Цитата Сообщение от TimeTwo Посмотреть сообщение
26 }
Муторно это...
C++
1
2
3
4
5
double A[] = { /* ... */ };
int n = sizeof( A ) / sizeof( A[ 0 ] );
double mean = accumulate( A, A + n, 0. ) / n;
for( auto &a : A )
   if( a < K || a > L ) a = mean;
0
TimeTwo
01.04.2016, 15:06
  #4

Не по теме:

Olej, проблема лишь в том, что когда человек придет сдавать преподавателю ваш код, все станет ясно... сдающему не понравится

0
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
01.04.2016, 18:39 5
Цитата Сообщение от TimeTwo Посмотреть сообщение
когда человек придет сдавать преподавателю ваш код, все станет ясно... сдающему не понравится
Так мы показываем возможности C++ в коде и стимулируем сдающего хотя бы обратить внимание на незнакомые ему конструкции?
Или играем в песочнице в "доктора и больного" и прикидываем что кому понравится?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
03.04.2016, 16:08 6
Лучший ответ Сообщение было отмечено Bohdan6 как решение

Решение

Bohdan6, Вот держите...
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
 
void zam(int *arr,int sum,int n);
 
int main (void){
    setlocale(LC_ALL,"Russian");
    int n;
    go:std :: cout<<"\nВведите размер массива: ";
    std :: cin>>n;
    if (n<=0 || n>45)
    {std :: cout<<"Недопустимый размер массива!";goto go;}
    int *a=new int[n];
    double sum=0.0;
    for (int i = 0; i < n;i++) {
      a[i] =rand () % 10;
      std::cout<<a[i]<<" ";
      sum+=a[i];
    }
    sum/=n;
 
    zam(a,sum,n);
 
    for (int i = 0; i < n;i++) {
    std::cout << a[i]<<" ";
    }
    delete [] a;
    system("pause");
    return 0;
}
void zam(int *arr,int sum,int n)
{
    int k,l;
    std :: cout<<"\nВведите 1 число: ";
    std::cin>>k;
    std :: cout<<"\nВведите 2 число: ";
    std::cin>>l;
    for (int i = 0; i < n;i++) {
        if((i<k)||(i>l)){
            arr[i] = sum;
        }
    }
};
TimeTwo,
Цитата Сообщение от TimeTwo Посмотреть сообщение
sum++;
Это подсчет чего???
Цитата Сообщение от TimeTwo Посмотреть сообщение
sum=sum/45
И что вы тут тогда считаете?
Цитата Сообщение от TimeTwo Посмотреть сообщение
for (int i = 0; i < 20;i++) {
if((a[i]<k)||(a[i]>l)){
a[i] = sum;
}
}
ваш цикл с условием, я не смог понять
1
03.04.2016, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2016, 16:08
Помогаю со студенческими работами здесь

Заменить элементы массива,стоящие на нечетных позициях, на среднее арифметическое массива
Заменить элементы массива,стоящие на нечетных позициях, на среднее арифметическое массива

Заменить отрицательные элементы массива на среднее арифметическое элементов массива
Друг попросил помочь с контрольной по информатике, по скольку я не обладаю знанием Бейсика написал...

Заменить все нулевые элементы массива на среднее арифметическое всех элементов массива
Дан массив С (N). Заменить все нулевые элементы массива на среднее арифметическое всех элементов...

Вычислить утроенное среднее арифметическое отрицательных элементов массива и заменить им все чётные элементы массива
Дан массив A размерностью N. Организовать заполнение вручную. Вычислить утроенное среднее...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru