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

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

Восстановить пароль Регистрация
 
Azaki
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 17
27.12.2012, 01:23     Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива #1
Здравствуйте, помогите пожалуйста:

Ввести одномерные массивы X1(N1) , X2(N2) и X3(N3) . Заменить в каждом
из них максимальный элемент средним арифметическим положительных
элементов (если оно существует) соответствующего массива. Вывести
массивы до преобразования и после. (При решении реализовать процедуры
ввода и вывода массивов Vvod1m и Vivod1m, а также
функции IndMax – поиск индекса максимума и SrAPol –
поиск среднего арифметического положительных элементов (равно нулю,
если положительных нет))

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
// Podprogram_mas.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <locale>
#include <iostream>
using namespace std;
#include <time.h>
 
void SrAPol(double **X1,double **X2,double **X3,int N1,int N2,int N3,int imax1,int imax2,int imax3);
{
    double sra1,sra2,sra3=0;
    for(int i = 0; i<N1; i++)
    {
        sra1+=X1[i];
    }
    for(int i = 0; i<N1; i++)
    {
        sra2+=X2[i];
    }
    for(int i = 0; i<N1; i++)
    {
        sra3+=X3[i];
    }
    //
    X1[imax1] = sra1;
    X1[imax2] = sra2;
    X1[imax3] = sra3;
    //
    Vivod1m(X1,N1);
    Vivod2m(X2,N2);
    Vivod3m(X3,N3);
}
 
void Vivod1m(double **X1, int N1)
{
    cout << "\n";
    cout << "\n" << "Массив X2[" << N1 << "]:" << "\n";
    for(int i = 0; i<N1; i++)
    {
        cout << X1[i] << " ";
    }
}
 
void Vivod2m(double **X2, int N2)
{
    cout << "\n";
    cout << "\n" << "Массив X2[" << N2 << "]:" << "\n";
    for(int i = 0; i<N2; i++)
    {
        cout << X2[i] << " ";
    }
}
 
void Vivod3m(double **X3, int N3)
{
    cout << "\n";
    cout << "\n" << "Массив X2[" << N3 << "]:" << "\n";
    for(int i = 0; i<N3; i++)
    {
        cout << X3[i] << " ";   
    }
    cout << "\n";
}
 
void Vvod1m(double **X1, int N1)
{
    for(int i = 0; i<N1; i++)
    {
        *X1[i]=rand()%200-100;  
    }
    Vivod1m(X1,N1);
}
 
void Vvod2m(double **X2, int N2)
{
    for(int i = 0; i<N2; i++)
    {
        *X2[i]=rand()%200-100;  
    }
    Vivod2m(X2,N2);
}
 
void Vvod3m(double **X3, int N3)
{
    for(int i = 0; i<N3; i++)
    {
        *X3[i]=rand()%200-100;  
    }
    Vivod3m(X3,N3);
}
 
void IndMax(double **X1,double **X2,double **X3, int N1, int N2, int N3)
{
    double max1, max2, max3 = 0;
    int imax1,imax2,imax3;
    for (int i = 0; i < N1; i++) 
    {
        if (max1 < *X1[i]) 
        {
            max1 = *X1[i];
            imax1 = i;
        }
    } 
    for (int i = 0; i < N2; i++) 
    {
        if (max1 < *X2[i]) 
        {
            max2 = *X2[i];
            imax2 = i;
        }
    } 
    for (int i = 0; i < N3; i++) 
    {
        if (max1 < *X3[i]) 
        {
            max3 = *X3[i];
            imax3 = i;
        }
    } 
    cout << "Преобразованные массивы: ";
    SrAPol(X1,X2,X3,N1,N2,N3,imax1,imax2,imax3);    
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    srand(time(0));
    //
    int N1; 
    cout << "Введите размерность массива X1: "; 
    cin >> N1; 
    int N2; 
    cout << "Введите размерность массива X2: "; 
    cin >> N2; 
    int N3; 
    cout << "Введите размерность массива X3: "; 
    cin >> N3; 
    //
    double **X1 = new double*[N1];
    double **X2 = new double*[N2];
    double **X3 = new double*[N3];
    //
    Vvod1m(X1,N1);
    Vvod2m(X3,N2);
    Vvod3m(X3,N3);  
    //
    IndMax(X1,X2,X3,N1,N2,N3);
    //
    system("pause");
}
Выдает ошибки:
Идентификатор не определен
это объявление не содержит класс хранения или спецификатор типа

Что я сделал не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 01:23     Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
suff1x
15 / 15 / 1
Регистрация: 26.09.2012
Сообщений: 70
27.12.2012, 02:27     Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива #2
почитайте про определение и описание функций (методов).
Yandex
Объявления
27.12.2012, 02:27     Заменить в каждом массиве максимальный элемент средним арифметическим положительных элементов (если оно существует) соответствующего массива
Ответ Создать тему
Опции темы

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