Int main()
{
int a[100], n;
cout <<"Vvedite razmer massiva: ";
cin >> n;
for(int i =0; i<n; i++)
{
cout <<"Vvedite a["<<i+1<<"] element: ";
cin >> a[i];
}
for(int i =0; i<n; i++)
{
cout << a[i] << setw(5);
}
cout <<endl<<Proizvedenie(a, FindMin(a, n), n)<<endl;
system("pause");
return 0; }
int FindMin(int massiv[], int razmer)
{
int index = 0, minElement = massiv[0];
for (int i = 1; i < razmer; i++)
{
if (minElement > massiv[i])
{
minElement = massiv[i];
index = i;
}
}
return index;
}
int Proizvedenie(int massiv[], int index, int razmer)
{
int result = 1;
for (int i = index + 1; i < razmer; i++)
{
result *= abs(massiv[i]);
}
return result;
}
Результат выполнения программы
Задание 5
Ввести матрицу размером NxM. Память для массива выделить динамически. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. Предусмотреть в программе использование функции пользователя.
Определить произведение кратных трем элементов матрицы, располо-
женных выше ее главной диагонали, включая саму диагональ.
Блок-схема алгоритма
Код программы
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
double FindProizv(double **, int, int);
Int main()
{
int n, m;
cout <<"Vvedite kol-vo strok massiva: ";
cin >> n;
cout <<"Vvedite kol-vo stolbcov massiva: ";
cin >> m;
double **a = new double*[n];
for(int i = 0; i < n; i++)
{
a[i] = new double[m];
for (int j = 0; j < m; j++)
{
cout <<"Vvedite a["<<i+1<<", "<<j+1<<"] element: ";
cin >> a[i][j];
}
}
for(int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cout << setw(5) << a[i][j];
}
cout << endl;
}
cout <<FindProizv(a, n, m)<<endl;
for (int i = 0; i < n; i++)
{
delete [] a[i];
}
delete [] a;
system("pause");
return 0;
}
double FindProizv(double* massiv[], int n, int m)
{
double result = 1;
for (int i = 0; i < n; i++)
{
for (int j = i; j < m; j++)
{
if (abs((int)(massiv[i][j])) % 3 == 0)
result *= massiv[i][j];
}
}
return result;
}
Результат выполнения программы
Задание 6
Составить программу формирования файла, содержащего данные согласно варианту индивидуального задания. В программе предусмотреть сохранение вводимых данных в файле и возможность чтения из раннее сохраненного файла. Вывести результаты на экран и в текстовой файл.
У администратора железнодорожных касс хранится информация о сво-
бодных местах в поездах. Информация представлена в следующем виде: номер
поезда, пункт назначения, время отправления, число свободных мест. Вывести
информацию о поездах, в которых имеются свободные места до заданного
пункта назначения.
Блок-схема алгоритма
Код программы
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <iomanip>
#include <string>
typedef struct
{
char * TrainNumber;
char * Destination;
char * Time;
char * PlaceCount;
} FreePlace;
using namespace std;
int Menu();
int OpenFreePlaces(FreePlace *, char *);void NewFreePlace(FreePlace *, int); void DeleteFreePlace(FreePlace *, int, int);
void SaveFreePlaces(FreePlace, char *);
void WriteInfoInFile(FreePlace *, char *, int, char *);
void WriteInfoInScreen(FreePlace *, int, char *);
void WriteAllFreePlaces(FreePlace *, int);
bool equals(char *, char *);
