Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР10-С++-26-апреля-2012.doc
Скачиваний:
24
Добавлен:
15.09.2019
Размер:
2.35 Mб
Скачать

2.4.3.2. Пример для варианта 30

Сформировать массив из отрицательных элементов первого массива и всех элементов исходных массивов, больших 5.

2.4.3.3. Программа

//Лабораторная работа № 10

//Задание 10-3k

//Формирование новых массивов

//Вариант 30

//Автор Петрова Мария гр. ИНФО-101

// 24.04.2012

//= = = = = = = = = = = = == = = = == = = = ==

#include <conio.h> // подключение библиотеки функций ввода-вывода

#include <iostream.h> // подключение библиотеки потокового ввода-вывода

#include <math.h> // подключение библиотеки математических функций

#include <iomanip.h> // подключение библиотеки средств манипулирования потоками

int main ()

{

// Объявление переменных

int na,nb,nc,i,k;

float a[20],b[20],c[40];

cout << "Введите число элементов массива a (na <= 20): ";

cin >> na;

// Ввод массива a

for (i=0; i<na; i++)

{

cout <<"Введите " << i << "-ый элемент массива a: ";

cin >> a[i];

}

cout << "Введите число элементов массива b (nb <= 20): ";

cin >> nb;

// Ввод массива b

for (i=0; i<nb; i++)

{

cout <<"Введите " << i << "-ый элемент массива b: ";

cin >> b[i];

}

cout << "Контролльный вывод исходных данных" << endl;

cout << "Число элементов массива a: na = " << na << endl;

// Контрольный вывод массива а

cout << " Исходный массив а " << endl

<< " |-----------------------------|" << endl

<< " | i | a[i] |" << endl

<< " |-------------|---------------|" << endl;

for (i=0; i<na; i++)

{

// Вывод очередной строки массива

// Вывод индекса i

cout << " I " << "i= "<< setw(3) << i << setw(7) << " I ";

// Вывод значения элемента массива

cout << " " << setw(4) << "a[i] = " << setw(3)<<a[i] << " I " << endl;

}

cout << " |-------------|---------------|" << endl;

cout << "Число элементов массива b: nb = " << nb << endl;

// Контрольный вывод массива b

cout << " Исходный массив b " << endl

<< " |-----------------------------|" << endl

<< " | i | b[i] |" << endl

<< " |-------------|---------------|" << endl;

for (i=0; i<nb; i++)

{

// Вывод очередной строки массива

// Вывод индекса i

cout << " I " << "i= "<< setw(3) << i << setw(7) << " I ";

// Вывод значения элемента массива

cout << " " << setw(4) << "b[i] = " << setw(3)<< b[i] << " I " << endl;

}

cout << " |-------------|---------------|" << endl;

k = 0;//Счетчик числа элементов нового массива

//Запись отрицательных элементов массива а

// в результирующий массив с

for (i=0; i<na; i++)

{if (a[i]< 0){c[k] = a[i];k = k + 1;}

}

//Запись элементов массива а больших 5

// в результирующий массив с

for (i=0; i<na; i++)

{if (a[i]> 5){c[k] = a[i];k = k + 1;}

}

//Запись элементов массива b больших 5

// в результирующий массив с

for (i=0; i<nb; i++)

{if (b[i]> 5){c[k] = b[i];k = k + 1;}

}

nc =k-1;

cout << "Вывод результатов" << endl;

cout << "Число элементов массива c: nc = " << nc << endl;

//Вывод результирующего массива с

//Вывод заголовка и шапки таблицы

cout << " Плученный массив с " << endl

<< " |-----------------------------|" << endl

<< " | i | c[i] |" << endl

<< " |-------------|---------------|" << endl;

for (i=0; i<nc; i++)

{

// Вывод очередной строки массива

// Вывод индекса i

cout << " I " << "i= "<< setw(3) << i << setw(7) << " I ";

// Вывод значения элемента массива

cout << " " << setw(4) << "c[i] = " << setw(3)<<c[i] << " I " << endl;

}

cout << " |-------------|---------------|" << endl;

cout << "Нажмите любую клавишу..." ;

getch();

return 0;

}