1.1. Задание 1: Создать файл, содержащий десять цифр. Считать значения этих цифр в массив. Отсортировать цифры по возрастанию и записать полученный массив в другой файл.
1.1.1. Текст программы:
#include <iostream>
#include <fstream> // Сообщение для файлового ввода-вывода
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int i, j;//i-счетчик, k-записывает в текстовый документ
const int n = 10;
int a[n];
ifstream in; // Объявление входной потоковой переменной, необходимой для считывания данных из файла
ofstream out; // Объявление выходной потоковой переменной, необходимой для записи данных в файл
in.open("lr5.txt"); // Устанавливается соответствие потоковой переменной in c физическим файлом, находящимся в той же директории
out.open("lr52.txt"); // Устанавливается соответствие потоковой переменной out c физическим файлом
for (i = 0; i < n; i++)
{
in >> a[i];
}
for (int i = n - 1; i >= 1; i--)//сортировка методом пузырька
{
for (int j = 0; j<i; j++)
{
if (a[j]>a[j + 1])
{// меняем местами элементы
int temp(0);
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (i = 0; i < n; i++)
{
out << "a[" << i << "]=" << a[i] << ' ';
cout << "a[" << i << "]=" << a[i] << ' ' << endl;
}
if (!in)
cout << "Ошибка!!! Невозможно открыть файл" << endl;
system("Pause");
return 0;
}
1.1.2. Результат программы:
1.2. Задание 2: Создать массив 12х4. Записать этот массив в файл. Произвести сортировку i-ого столбца (i равен номеру вашего варианта) по возрастанию. Вывести полученный массив в другой файл. Показать оба массива на экране и отдельно отсортированный столбец.
1.2.1. Текст программы:
#include <iostream>
#include <fstream> //Для использования модификатора setw()
#include <cstdlib> //Для использования функций rand() и srand()
#include <ctime> //Для использования функции time()
#define I 13 //Определение констант
#define J 5
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int i, j;
int a[I][J];
srand(time(NULL)); /* Активизация генератора случайных чисел rand(), . при этом аргументом является текущее время */
for (i = 1; i<I; i++) //Заполнение массива случайными числами
for (j = 1; j<J; j++)
a[i][j] = rand() % 100;
ofstream out; // Объявление входной потоковой переменной, необходимой для считывания данных из файла
ofstream out2; // Объявление выходной потоковой переменной, необходимой для записи данных в файл
out.open("12x4.txt"); // Устанавливается соответствие потоковой переменной in c физическим файлом, находящимся в той же директории
out2.open("sort.txt"); // Устанавливается соответствие потоковой переменной out c физическим файлом
cout << "Исходный массив:\n"; // Вывод элементов массива на экран
for (i = 1; i<I; i++)
{
for (j = 1; j < J; j++)
{
cout << a[i][j] << '\t';
out << "a[" << i << "][" << j << "]=" << a[i][j] << '\t';
}
cout << endl;
}
int tmp, k; // переменная для временного хранения числа