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

Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
omenufa
1 / 1 / 0
Регистрация: 23.09.2010
Сообщений: 20
26.10.2010, 19:59     Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива #1
Здравствуйте, стоит такая задача: Сгенерировать одномерный целочисленный массив случайного размера из диапазона [100,150] и заполнить его случайными числами из диапазона [-10,10]. Заменить все элементы с отрицательным значением средним арифметическим значением всех положительных элементов.
Массив я сгенерировал, только не знаю как реализовать замену элементов. Только понял, что надо использовать ссылки и указатели, дополните пожалуйста, код ниже:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <conio.h>
#include <time.h>
#include <iostream>
using namespace std;
#define k 255
 
int main(){
    setlocale(LC_ALL,"rus_rus.1251");
    srand((unsigned)time(0));
    float summ;
    int N[k],A[k];
    int j,i,m=0;
    float x=0.,y=0.;
    //generation of array
    j=rand()%100+51; //[100;150]
    printf("Размерность массива равна %d",j);
        cout<<"\nЭлементы массива\n";
        for (i=0;i<j;i++){
        N[i]=-10+rand()%21;
        printf("\nN[%d]=%d",i,N[i]); }
 
//тут замена элементов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2010, 19:59     Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива
Посмотрите здесь:

Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов. C++
Заменить все элементы с отрицательными значениями средним арифметическим значением всех положительных элементов C++
C++ В прямоугольной матрице каждый нулевой элемент заменить средним арифметическим значением ненулевых элементов той строки
C++ В массиве каждый элемент, равный нулю, заменить средним арифметическим всех элементов
C++ Все элементы, кроме первого, заменить средним арифметическим всех предыдущих
Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива C++
C++ Заменить максимальный элемент массива средним арифметическим положительных элементов массива
C++ В прямоугольной матрице каждый нулевой элемент заменить средним арифметическим значением

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
27.10.2010, 00:47     Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива #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
#include <iostream>
#include <ctime>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    srand(static_cast<int>(time(NULL)));
    setlocale(LC_ALL, "Russian");
    int *arr;
    int size,sum=0,count=0,sr;
    size = rand()%20;
    arr = new int[size];
    cout<<endl<<"Сформированый массив: "<<endl;
    for(int i=0; i<size; i++)
    {
        arr[i]=rand()%20-5;
        cout<<arr[i]<<"  ";
        if(arr[i]>0)
        {
            sum+=arr[i];
            count++;
        }
    }
    sr = sum/count;
    cout<<endl<<"Новый массив: "<<endl;
    for(int i=0; i<size; i++)
    {
        if(arr[i]<0)
         {
            arr[i]=sr;
            cout<<arr[i]<<"  ";
         } 
        else
        {
            cout<<arr[i]<<"  ";
        }
    }
    cout<<endl<<endl<<sr;
    delete [] arr;
    system("pause");
    return 0;
}
Yandex
Объявления
27.10.2010, 00:47     Заменить в массиве все отрицательные элементы средним арифметическим значением всех положительных, вывести оба массива
Ответ Создать тему
Опции темы

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