Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт.docx
Скачиваний:
24
Добавлен:
09.06.2015
Размер:
1.81 Mб
Скачать

Задача 4.4

Дан одномерный массив из 10 целых чисел. Подсчитайте наибольшее число одинаковых идущих подряд в нём чисел.

  1. Блок-схема.

начало

A[i]

i=0; i<9; i++

A[i]==A[i+1]

+ -

kol=kol+1

max<kol

-

-

max=kol

kol=0

kol

конец

  1. Программный код.

#include "iostream"

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

const int n=10;

int i,k=0;

int A[n];

int kol=0;

int max=0;

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

{cout<<"A["<<i<<"]=";//Ввод массива

cin>>A[i];//Ввод массива с клавиатуры

}

for(i=0;i<9;i++)//Цикл

if (A[i]==A[i+1]) {kol=kol+1;}

else {if (max<kol) max=kol; kol=0;} {kol=kol+1;}

if (kol>max) {max=kol;}

if (max!=0) {cout<<max;}//Вывод максимального элемента

else {cout<<"Нет повторяющихся элементов ";}

}

  1. Скриншот.

Задача 5.1

Дана матрица размера 10х10. В каждом столбце найти количество элементов, меньших среднего арифметического всех элементов соответствующей строки.

  1. Блок-схема.

начало

a[n][n]

g=0;n;1

+ -

s=0

i=0;n;1

+ -

s=s+a[i][g]

b[g]=s/10.

b[g]

i=0;n;1

+ -

k=0

g=0;n;1

+ -

1

2

3

44

5

1

a[i][g]>b[g]

2

3

44

5

+ -

k++

c[i]=k

c[i]

конец

  1. Программный код.

#include "iostream"

#include "iomanip"

#include <time.h>

using namespace std;

void main()

{setlocale(0, "");

int const n=10;

double b[n];

int c[n];

int a[n][n],i,g,s,k;

srand(time(NULL));

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

for(g=0;g<n;g++){

a[i][g]=1+rand()%2;}

//вывели массив

cout<<"Введённый массив имеет вид:";

cout<<endl;

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

cout<<endl;

for(g=0;g<n;g++){

cout<<setw(5)<<a[i][g];}}

//среднее арифметическое столбцов

cout<<endl;

for(g=0;g<n;g++){

s=0;

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

s=s+a[i][g];

b[g]=s/10.;

}

cout<<"Среднее арифметическое элементов столбцов:"<<endl;

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

cout<<setw(6)<<b[g];

cout<<endl;

//сравним соответствующие переменные строк со средним арифметическим столбцов

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

k=0;

for(g=0;g<n;g++){

if(a[i][g]<b[g])k++;}

c[i]=k;

}

cout<<"Количество элементов строки, которые меньше среднего арифметического:"<<endl;

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

cout<<setw(6)<<c[i];

cout<<endl;

}

  1. Скриншот.