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;
}
Контрольный расчет.
Лабораторная работа №8
Тема «обработка одномерных массивов»
Цель работы: Изучение одномерных массивов в языке С++. Знакомство с основными алгоритмами работы с одномерными массивами– определение суммы, произведения элементов, поиска максимального или минимального элемента массива.
Задание. Составить алгоритм решения задачи согласно своему варианту и написать программу на языке С++.
Вариант 3. В массиве x(n) найти значение максимального элемента и найти, сколько таких элементов.
Блок-схема алгоритма.
Листинг программы.
#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;
}
Контрольный расчет.
Лабораторная работа №9
Тема «Указатели и динамические массивы. Использование указателей в качестве аргументов функций»
Цель работы: Знакомство с указателями в С++. Изучение одномерных динамических массивов в языке С++. Знакомство с функциями, возвращающими несколько значений. Рассмотрение на примерах, как указатели используются в качестве параметров функций.
Задание. Составить алгоритм решения задачи согласно своему вариантуи написать программу на языке С++. В отчете предоставить блок-схемы всех функций, текст программы.
Вариант 3. Заданы два целочисленных массива y(k) и z(m). Определить в каждом массиве среднее арифметическое простых двухзначных чисел. Если таких чисел в массиве больше двух, то удалить их из соответствующего массива. В программе написать функции: вычисления среднего арифметического простых двухзначных чисел в массиве и их количества, удаления элемента.
Блок-схема функции вычисления среднего арифметического и количества.
Блок-схема функции удаления элемента.
Блок-схема главной функции.
Листинг программы.
#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;
}
