Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ Лабораторная работа № 6 КТ.doc
Скачиваний:
57
Добавлен:
28.05.2015
Размер:
1.57 Mб
Скачать

Примеры

Вычислить произведение элементов массива.

Исходные данные:n элементов вещественного массива a, n – целый тип.

Результат:Произведение элементов массива p – целый тип.

Тестовый пример:при n=5,

элементы массива a=: 1 3 5 3 4, p=180.

Найти среднее арифметическое значение элементов массива, не превышающих числа a

Исходные данные: N элементов вещественного массива b. Вещественное число a.

Результат:Среднее арифметическое значениеsr.

Промежуточные значения:

i- Индекс элементов массива

s- Сумма элементов массива, не превышающих числоa.

k- Количество элементов массива, не превышающих числоa.

Тестовый пример:

при n=7,a=2,

элементы массива b=1 -3 5 4 -4 6 2,sr=-1

Определить, сколько элементов целочисленного массива стоит до первого элемента, значение которого меньше своего индекса.

Исходные данные: Целочисленный массивzизnэлементов.

Результат:i-1 - Количество элементов, стоящих до первого элемента, меньшего своего индекса.

Тестовый пример:приn=7, элементы массиваz=1 6 15 4 0 6 -1,i-1=4.

Найти минимальный элемент и его индекс среди элементов массива с номерами от k до l.

Исходные данные: Целочисленный массив d из n элементов

k– начало поиска.

l– конец поиска.

Результаты:im- Номер минимального элемента в заданном наборе элементов. Для минимального элемента дополнительная переменная не нужна, потому что значение минимального элемента – этоd[im].

Тестовый пример: приn=7,k=1,l=4 элементы массиваd=1 -3 5 4 -4 -6 2,im=4,d[im]=-4.

Определить номер и значение минимального элемента среди положительных элементов массива вещественных чисел

Исходные данные:Вещественный массивaизnэлементов.

Результат:im– Номер минимального элемента.

Промежуточные значения:k– определяет наличие положительного элемента в массиве.kравно нулю пока не встретится положительный элемент.

Тестовый пример: приn=10 и элементах: -3, -5, 7, -2, 5, 2, -7, 5,3, 6

im=5, a[5]=2

В целочисленном массиве найти номера двух первых равных элементов.

Исходные данные: Целочисленный массивdизnэлементов.

Результат:kl– Номера первых равных элементов.

В данном примере поиск равных элементов лучше вести в процедуре, в этом случае при нахождении равных элементов можно досрочно выйти их процедуры, а значит сразу из двух циклов.

Тестовый пример: приn=7, элементы 4, 6, 3, 6, 3, 7, 1,k=1,l=3.

Заменить элементы, имеющие четное значение нулем.

Исходные данные: Целочисленный массивaизnэлементов.

Результат:Целочисленный массивaизnэлементов.

Тестовый пример: приn=7

введенный массив: 4, 6, 7, 9, 3, 2, 1;

преобразованный массив: 0, 0, 7, 9, 3, 0, 1.

Переставить местами значения элементов двух массивов, имеющих четные индексы.

Исходные данные:Вещественные массивыcиdизnэлементов.

Результат:Вещественные массивыcиdизnэлементов.

Тестовый пример:приn=5

введенные массивы:

c: 1, 2, 3, 4, 5

d: -1, -2, -3, -4, -5.

преобразованные массивы:

c: 1, -2, 3, -4, 5

d: -1, 2, -3, 4, -5.

Удалить элемент с номером k.

Дано:Вещественный массивfизnэлементов,

k– номер удаляемого элемента.

Результат:Вещественный массивfизn-1 элементов.

При удалении элементы массива сдвигаются влево.

Тестовый пример: приn=7 иk=4

ввод: 5, 6, 4, 8, 1, 9, 2

вывод: 5, 6, 4, 1, 9, 2; n=6.

Вставить в массив после заданного элемента нуль.

Дано:Целочисленный массивxизnэлементов,

p– номер элемента.

Результат:Целочисленный массивxизn+1 элементов.

При вставке элементы маccива сдвигаются вправо. Чтобы не потерять элементы, сдвиг выполняется с конца

Тестовый пример:n=5,p=3,

ввод: 7, 3, 4, 8, 1; вывод: 7, 3, 4, 0, 8, 1.

Создать программу, обеспечивающую работу следующих пунктов меню.

  1. Ввод массива целых чисел из 20 элементов.

  2. Генерация 20 .элементов массива от -100 до 100.

  3. Замена в массиве отрицательных элементов нулем.

  4. Вывод элементов массива.

  5. Конец работы.

Исходные данные: Массивaиз 20 целых чисел.

Текст программы:

# include <iostream>

# include <conio.h>

#include <locale>

# include <time.h>

# include <cstdlib>

using namespace std;

void vvod(int a[], int n);

void generac(int a[], int n);

void replace(int a[], int n);

void vivod(int a[], int n);

void main()

{srand((unsigned)time(NULL));

setlocale(0, "");

int a[20];

int n,k;

cout<<"введите количество элементов массива"; cin>>n;

do

{cout<<"1. Ввод массива a"<<endl;

cout<<"2. Генетация элементов массива a"<<endl;

cout<<"3. Замена отрицательных элементов нулями"<<endl;

cout<<"4. Вывод элементов массива"<<endl;

cout<<"5. Конец работы"<<endl;

cout<<"Укажите номер пункта меню"; cin>>k;

switch (k)

{case 1: vvod(a,n);break;

case 2: generac(a,n); break;

case 3: replace(a,n); break;

case 4: vivod(a,n);break;

case 5: cout<<"Конец работы"<<endl; break;

default: cout<<"Такого пункта нет"<<endl;

}

if (k==5) break;

} while(true);

_getch();

}

void vvod(int a[], int n)

{

cout<<"Введите элементы массива"<<endl;

for(int i=0;i<n;i++)

cin>>a[i];

}

void generac(int a[], int n)

{ for(int i=0;i<n;i++)

a[i]=rand()%(201)-100;

}

void replace(int a[], int n)

{for(int i=0;i<n;i++)

if(a[i]<0) a[i]=0;

}

void vivod(int a[], int n)

{cout<<"Массив a"<<endl;

for(int i=0;i<n;i++)

cout<<a[i]<<"\t";

cout<<endl;

}

Результат:

Задание 1.Написать и отладить программы для примера 6.