- •Фгб оу впо «московский государственный университет
- •Файлы последовательного доступа
- •Файлы произвольного доступа
- •Операции над файлами
- •Задача 1.1
- •Задача 1.2
- •Задача 1.3.
- •Задача 2.1.
- •Задача 2.2.
- •Задача 2.3.
- •Задача 3.1.
- •Задача 3.2.
- •Задача 3.3.
- •Задача 3.4.
- •Задача 3.5
- •Задача 4.1
- •Задача 4.2
- •Задача 4.3
- •Задача 4.4
- •Задача 5.1
- •Задача 5.2
- •Задача 5.3
- •Задача 5.5
- •Задача 6.1
- •Задача 6.2
- •Задача 6.3
- •Задача 6.4
- •Задача 7.1
- •Задача 7.3
- •Задача 7.4
- •Задача 8.1
Задача 4.4
Дан одномерный массив из 10 целых чисел. Подсчитайте наибольшее число одинаковых идущих подряд в нём чисел.
Блок-схема.
начало
A[i]
i=0; i<9; i++
A[i]==A[i+1]
+ -
kol=kol+1
max<kol
-
-
max=kol
kol=0
kol
конец
Программный код.
#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<<"Нет повторяющихся элементов ";}
}
Скриншот.
Задача 5.1
Дана матрица размера 10х10. В каждом столбце найти количество элементов, меньших среднего арифметического всех элементов соответствующей строки.
Блок-схема.
начало
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]
конец
Программный код.
#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;
}
Скриншот.