Скриншот (копия) экрана или серия снимков с ходом выполнения программы.
Задача 1
Задание
Неформализованное описание алгоритма
Код программы на языке СИ
Пример работы программы
Скриншот экрана или серия снимков с ходом выполнения программы.
Задача 2
Задание
Посчитать сумму двух матриц. Результат вывести в файл.
Каждая матрица задается отдельным файлом (максимальный размер матрицы 10х10).
Чтение матрицы из файла необходимо реализовать в виде собственной функции, аргументами которой будут являться имя файла и указатель на массив.
Без реализации чтения матрицы посредством собственной функции (считать матрицу из файла в массив) максимальный балл 3.
Дополнительно для ИВТ на 20 баллов - размер матрицы заранее не известен!
Неформализованное описание алгоритма
1) Откроем 1 из файлов с матрицами и узнаем порядок квадратной матрицы.
2) Создаем динамический массив размера [N*N] и обнуляем его.
3) Вызовем 2 раза функцию, которая динамический массив сложит с массивом из файла.
4) Откроем файл для записи и запишем туда получившуюся матрицу.
Код программы на языке СИ
БСА
| Программа на СИ
|
| #include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
void summ_matrix(char S[30],int *matrix)
{
FILE *f;
int N,a;
f = fopen(S, "rt");
fscanf_s(f, "%i", &N);
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
fscanf_s(f, "%i",&a);
*(matrix+(i*N)+j) += a;
}
}
fclose(f);
}
void main()
{
FILE *f;
int N;
f = fopen("matrix1.txt", "rt");
fscanf_s(f, "%i", &N);
fclose(f);
int *matrix = new int[N*N];
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
*(matrix + (i*N) + j) = 0;
summ_matrix("matrix1.txt",matrix);
summ_matrix("matrix2.txt",matrix);
f = fopen("matrix3.txt", "wt");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
fprintf(f,"%i ", *(matrix + (i*N) + j));
fprintf(f,"\n");
}
}
|
Пример работы программы
Скриншот экрана или серия снимков с ходом выполнения программы.
![](https://konspekta.net/studopediainfo/baza2/777359282294.files/image003.jpg)