Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Одномерные массивы [C++]

Автор: Димас 3.12.2007 4:48

есть такая задача:

Задано массивы X{Xi} Y{Yi} (i = 1, n ; n = 6) . С первых массивов X и Y сформировать новый массив Z, элементами которого будут сначала элементы массива X, а потом Y . Найти среднее арифметическое положительных элементов массива Z ..


единственый нюанс который я не могу понять, это как: С первых массивов X и Y сформировать новый массив Z, элементами которого будут сначала элементы массива X, а потом Y .

я не требую решения задачи blush.gif , я не могу понять как мне записать в массив Z сначала значения с массива X потом Y ?

помогите пожалуйста на уровне псевдокода ...

Автор: Michael_Rybak 3.12.2007 18:20

for (int i = 1; i <= 6; i++) z[i] = x[i];
for (int i = 7; i <= 12; i++) z[i] = y[i - 6];

Автор: Димас 3.12.2007 23:37

сделал blush.gif

 
#include <iostream>
#include <conio>

using namespace std;

const int n = 5;

int main(int argc, char* argv[])
{
clrscr();
randomize();


int arrayX[n];
int arrayY[n];

cout << "X: ";
for(int i = 0; i < n; i++)
{
arrayX[i] = random(70);
arrayY[i] = random(90);
cout << arrayX[i] << " ";
}
cout << endl;

cout << "X: ";
for(int i = 0; i < n; i++)
{
cout << arrayY[i] << " ";
}
cout << endl;


int m = n * 2;
// Динамический массив
int* arrayZ = new int[m];

// записываем X в Z
for (int i = 0; i < 5; i++) arrayZ[i] = arrayX[i];
// записываем Y в Z
for (int i = 5; i < 11; i++) arrayZ[i] = arrayY[i - 5];

cout << "Z: ";
for(int i = 0; i < m; i++)
{
cout << arrayZ[i] << " ";
}
cout << endl;

int Sum = 0;
int kol = 0;
// Среднее арифметическое положительных элементов
for (int i = 0; i < m; i++ )
{
if (arrayZ[i] > 0)
{
Sum = Sum + arrayZ[i];
kol++;
}
}

int Result;
Result = Sum / kol;

cout << "Result: " << Result << endl;
getch();
return 0;
}