Файл: Лабораторная работа 11 по дисциплине Программирование на тему Файлы Студент гр. Ивт222 Сарсенбаев М. С.odt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 16

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования РФ

Федеральное государственное автономное образовательное учреждение

высшего образования

«Омский государственный технический университет»

Кафедра «Информатика и вычислительная техника»

Отчёт

Лабораторная работа № 11

по дисциплине «Программирование»

на тему:

«Файлы»

Выполнил:

Студент гр.ИВТ-222

Сарсенбаев М.С. _____________

(подпись, дата)

Проверил:

Ассистент

Горшенин А.Ю. ______________

(подпись, дата)

Омск 2023

Задание 1 (программа 11_1)

Условие задачи: Выполнить задачу из лабораторной работы 9, считывая исходные данные из одного файла и записывая полученные результаты в другой текстовый файл. Файл с исходными данными должен быть подготовлен предварительно.

Схема алгоритма:








Текст программы:

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#include

#define stroka 3

#define stolbec 3

#define stroka2 4

#define stolbec2 4

int stepen(int x[stroka][stolbec], int y[stroka][stolbec], int* q, int* w, int* e);

int stepen2(int x[stroka2][stolbec2], int y[stroka2][stolbec2], int* q, int* w, int* e);

int main()

{

setlocale(0, "");

int a[stroka][stolbec], a2[stroka][stolbec], a3[stroka][stolbec];

int b[stroka2][stolbec2], b2[stroka2][stolbec2], b3[stroka2][stolbec2];

int res, sum, sr;

FILE* f1, * f2, * F1, * F2;

printf("Забор элементов из первого файла для первой матрицы а[3][3]\n");

f1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/fileone.txt.txt", "r");

for (int i = 0; i < stroka; i++) {

for (int j = 0; j < stolbec; j++) {

fscanf_s(f1, "%d", &a[i][j]);

}

}fclose(f1);

printf("Забор элементов из второго файла для второй матрицы b[4][4]\n");

f2 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/filetwo.txt.txt", "r");

for (int i = 0; i < stroka2; i++) {

for (int j = 0; j < stolbec2; j++) {

fscanf_s(f2, "%d", &b[i][j]);

}

}fclose(f2);

F1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/resultone.txt.txt", "w");

fprintf(F1, "2-степень первой матрицы \n");

for (int i = 0; i < stroka; i++) {

for (int j = 0; j < stolbec; j++) {

stepen(a, a, &res, &sum, &sr);

a2[i][j] = res;

fprintf(F1, "%4.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fprintf(F1, "3-степень первой матрицы\n");

for (int i = 0; i < stroka; i++) {

for (int j = 0; j < stolbec; j++) {

stepen(a, a2, &res, &sum, &sr);

a3[i][j] = res;

fprintf(F1, "%4.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fprintf(F1, "4-степень первой матрицы\n");

for (int i = 0; i < stroka; i++) {

for (int j = 0; j < stolbec; j++) {

stepen(a, a3, &res, &sum, &sr);

fprintf(F1, "%4.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fprintf(F1, "2-степень второй матрицы\n");

for (int i = 0; i < stroka2; i++) {

for (int j = 0; j < stolbec2; j++) {

stepen2(b, b, &res, &sum, &sr);

b2[i][j] = res;

fprintf(F1, "%4.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fprintf(F1, "3-степень второй матрицы\n");

for (int i = 0; i < stroka2; i++) {

for (int j = 0; j < stolbec2; j++) {

stepen2(b, b2, &res, &sum, &sr);

b3[i][j] = res;

fprintf(F1, "%8.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fprintf(F1, "4-степень второй матрицы\n");

for (int i = 0; i < stroka2; i++) {

for (int j = 0; j < stolbec2; j++) {

stepen2(b, b3, &res, &sum, &sr);

fprintf(F1, "%8.d", res);

}

fprintf(F1, "\n");

}

fprintf(F1, "\n");

fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

fprintf(F1, "\n");

fclose(F1);

}

int stepen(int x[stroka][stolbec], int y[stroka][stolbec], int* q, int* w, int* e)

{

int A[stroka][stolbec];

int sum = 0;

for (int i = 0; i < stroka; i++) {

for (int j = 0; j < stolbec; j++) {

int s = 0;

for (int f = 0; f < stolbec; f++) {

s += y[i][f] * x[f][j];

}

A[i][j] = s;

sum += s;

*q = A[i][j];

}

}

*w = sum;

*e = sum / (stroka * stolbec);

return 0;

}

int stepen2(int x[stroka2][stolbec2], int y[stroka2][stolbec2], int* q, int* w, int* e) {

int B[stroka2][stolbec2];

int sum = 0;

for (int i = 0; i < stroka2; i++) {

for (int j = 0; j < stolbec2; j++) {

int s = 0;

for (int f = 0; f < stolbec2; f++) {

s += x[i][f] * y[f][j];

}

B[i][j] = s;

sum += s;

*q = B[i][j];

}

}

*w = sum;

*e = sum / (stroka2 * stolbec2);

return 0;

}

Исходные файлы для программы 11_1:



Результаты выполнения программы, выводы:




Задание2(программа 11_2)

Условие задачи:

Даны два файла F1, F2. Сформировать третий файл F, в который сначала записать все элементы файла F1, а затем – элементы файла F2.

Схема алгоритма:



Текст программы:

#include

#include

#define _CRT_SECURE_NO_WARNINGS

using namespace std;

int main()

{

FILE* f1, * f2, * f;

char a[100], c[100];

int i, k, j;

f1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/file1.txt", "r");

i = 0;

while (!feof(f1))

{

fgets(&a[i], 100, f1);

i++;

}fclose(f1);

f2 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/file2.txt", "r");

j = 0;

while (!feof(f2))

{

fgets(&c[j], 100, f2);

j++;

}fclose(f2);

f = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/result1.txt", "w");

for (k = 0; k < strlen(a); k++)

{

fprintf(f, "%c", a[k]);

}fprintf(f, " ");

for (k = 0; k < strlen(c); k++)

{

fprintf(f, "%c", c[k]);

}

fclose(f);

}

Исходные файлы для программы 11_1:





Результаты выполнения программы, выводы: