- •Фгб оу впо «московский государственный университет
- •Файлы последовательного доступа
- •Файлы произвольного доступа
- •Операции над файлами
- •Задача 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.1
Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива – 10. Заполнение массива осуществить случайными числами от 50 до 100.
начало
Блок-схема.
A[i]
k
i=0; i<10; i++
A[i]<k
p=p*A
p
конец
Программный код.
#include "iostream"
using namespace std;
void main()
{const int n=10;
int p=1;
int i,k;
int A[n];
cout<<"k=";
cin>>k;
for(i=0;i<10;i++)
{cout<<"A["<<i<<"]=";//Объявление массива
cin>>A[i];//Ввод с клавиатуры массива чисел от 50 до 100
}
for(i=0;i<10;i++)
{if(A[i]<k) p=p*A[i];}//Условие, если, то перемножаем все элементы массива, которые меньше введённого числа
cout<<"p="<<p;//Вывод элементов массива
}
Скриншот.
Задача 4.2
Найти наибольший элемент из элементов одномерного массива, имеющих чётный номер. Определить, является ли он единственным.
Блок-схема.
начало
A[i]
max=A[0]
i=0; i<5; i++
i%2==0 && A[i]>max
max
+ -
max=A[i]
i=0; i<5; i++
A[i]==max
+ -
k=k++
k=1
>1
1
конец
Программный код.
#include "iostream"
using namespace std;
void main()
{setlocale(LC_ALL,"Russian");
const int n=5;
int i,k=0;
int A[n];
for(i=0;i<5;i++)//Цикл
{cout<<"A["<<i<<"]=";//Объявление массива
cin>>A[i];//Ввод с клавиатуры массива с числами
}
int max=A[0];
for(i=1;i<5;i++){
if(i%2==0 && A[i]>max) max=A[i];} cout<<max;
for(i=0;i<5;i++){
if( A[i]==max)k++;}//Нахождение максимального числа в массиве
if(k==1) cout<<" Наибольший элемент единственный";
else cout<<" Наибольший элемент не единственный " <<k;
}
Скриншот.
Задача 4.3
Дан двумерный массив. Найти произведение положительных элементов, которые больше заданного А.
начало
Блок-схема.
k[i][j], A
i=0; i<m; i++
j=0; i<n; j++
k[i][j]>0 && k[i][j]>A
+ -
p=p*k[i][j]
p
конец
Программный код.
#include "iostream"
#include "iomanip"
using namespace std;
void main()
{const int m=2, n=2;//Определение кол-ва столбцов и строк массива
int k[m][n];
int i,j,A,p=1;
cout<<"A=";
cin>>A;
for(i=0;i<m;i++)//Условие для строк массива
for(j=0;j<n;j++)//Условие для столбцов массива
cin>>k[i][j];
for(i=0;i<m;i++)
for(j=0;j<n;j++){
if (k[i][j]>0 && k[i][j]>A) p=p*k[i][j];}
cout<<p<<" ";
cout<<endl;
}
Скриншот.