Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по инф с 4 по 10 (3 вариант) .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
440.32 Кб
Скачать

Int main(void)

{ int sp;

do{

cout<<"1 - Metod iteraciy"<<endl;

cout<<"2 - Metod kasatelnix"<<endl;

cout<<"Other - exit"<<endl;

cin>>sp;

if (sp==1) bystep();

else if (sp==2) kasat();

}while((sp>0)&&(sp<3));

return 0;

}

  1. Контрольный расчет.

Лабораторная работа №8

Тема «обработка одномерных массивов»

Цель работы: Изучение одномерных массивов в языке С++. Знакомство с основными алгоритмами работы с одномерными массивами– определение суммы, произведения элементов, поиска максимального или минимального элемента массива.

Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке С++.

Вариант 3. В массиве x(n) найти значение максимального элемента и найти, сколько таких элементов.

  1. Блок-схема алгоритма.

  1. Листинг программы.

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

Int main(void)

{

int i,n,x[20];

int max,cnt;

cout<<"Entered N: ";

cin>>n;

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

{

cout<<"Entered X["<<setw(2)<<i<<"]: ";

cin>>x[i];

}

max=x[0];//за максимум берем 1-й элемент массива

cnt=1;

for(i=1;i<n;i++) //рассматриваем элементы, начиная со 2-го

{

if (x[i]>max)//найден новый максимум

{max=x[i]; cnt=1;

}

else if (x[i]==max) cnt++; //при повторе увеличиваем кол-во

}

cout<<"Max(X)="<<max<<", count="<<cnt<<endl;

return 0;

}

  1. Контрольный расчет.

Лабораторная работа №9

Тема «Указатели и динамические массивы. Использование указателей в качестве аргументов функций»

Цель работы: Знакомство с указателями в С++. Изучение одномерных динамических массивов в языке С++. Знакомство с функциями, возвращающими несколько значений. Рассмотрение на примерах, как указатели используются в качестве параметров функций.

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

Вариант 3. Заданы два целочисленных массива y(k) и z(m). Определить в каждом массиве среднее арифметическое простых двухзначных чисел. Если таких чисел в массиве больше двух, то удалить их из соответствующего массива. В программе написать функции: вычисления среднего арифметического простых двухзначных чисел в массиве и их количества, удаления элемента.

  1. Блок-схема функции вычисления среднего арифметического и количества.

  1. Блок-схема функции удаления элемента.

  1. Блок-схема главной функции.

  1. Листинг программы.

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

void del(int *a, int *na, int ii)//передаем ссылку на массив, ссылку на кол-во элементов массива, номер удаляемого элемента

{int i;

for(i=ii+1;i<na[0];i++)

a[i-1]=a[i];// выполняем сдвиг элементов на 1-у позицию влево

*na -=1;//уменьшаем кол-во элементов массива

}

int prost(int x)//проверяем число-простое?

{int i;

for(i=2;i<x;i++) //число не является простым, если остаток от

if (x%i==0) return 0;//от деления на число равен 0

return 1;

}

int sred(int *a, int na, int *k, float *summ)//передаем ссылки на массив и на кол-во элементов; ссылки на переменные для результатов

{int i,cura;

*summ=0;*k=0;

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

{cura=abs(a[i]);

if ((cura>10)&&(cura<99))//двузначное число(10, 99– не простые)

{if (prost(cura))

{ *summ+=a[i];//увеличиваем сумму

*k +=1;//увеличиваем счетчик

} } }

if (*k>1) *summ/=*k;//находим среднее арифметическое

return 0;

}