Вывести результат компиляции в *.txt файл - C (СИ)

Узнай цену своей работы

Формулировка задачи:

у меня есть така матрица, надо вывести результат компиляции в *.txt файл
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 int ** matr;
int n=9, i, j, m;
int main()
{
 
matr = (int **)malloc(n * sizeof(int *));
for (i = 0; i < n; i++)
{
matr[i] = (int *)malloc(n * sizeof(int));
}
 
for (i = 0; i < n; i++) 
{
for (j = 0; j < n; j++) 
{
matr[i][j] = rand() % 100;
}
}
 
for (i = 0; i < n; i++) 
{
for (j = n > 1; j < n; j++)
{
matr[i][n - j - 1] = matr[i][j];
}
}
 
puts("\n");
for (i = 0; i < n; i++)
 {
for (j = 0; j < n; j++) 
{
printf("%3d", matr[i][j]);
}
puts("\n");
}
 
return 0;
}

Решение задачи: «Вывести результат компиляции в *.txt файл»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int ** matr;
int n=9, i, j, m;
FILE *file; 
char *fname = "some_file.txt";
 
int main()
{
     
    matr = (int **)malloc(n * sizeof(int *));
    for (i = 0; i < n; i++)
        matr[i] = (int *)malloc(n * sizeof(int)); 
        
    for (i = 0; i < n; i++) 
        for (j = 0; j < n; j++) 
            matr[i][j] = rand() % 100;
     
    for (i = 0; i < n; i++) 
        for (j = n > 1; j < n; j++)
            matr[i][n - j - 1] = matr[i][j];
    
    file = fopen(fname,"w"); 
    if(file == 0)
    {
        printf("can\'t open or create file '%s'",fname);
        return 0;
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++) 
        {
            printf("%3d", matr[i][j]);
            fprintf(file, "%3d", matr[i][j]); 
        }
        puts("\n");
        fprintf(file, "\n\r");
    }
    fclose(file);
    system("PAUSE"); 
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы: , , .
  2. Объявляются необходимые переменные:
    • matr - двумерный массив (матрица) типа int;
    • n - размерность матрицы;
    • i, j, m - индексы для обращения к элементам матрицы;
    • file - указатель на файл;
    • fname - строка, содержащая имя файла для записи.
  3. Выделяется память под матрицу и её элементы.
  4. Заполняется матрица случайными числами от 0 до 99.
  5. Производится перестановка элементов матрицы в соответствии с её размерностью.
  6. Открывается файл для записи.
  7. Если файл не удалось открыть, выводится сообщение об ошибке и программа завершается.
  8. В цикле перебираются все элементы матрицы и выводятся на экран и в файл.
  9. После каждой строки матрицы выводится символ новой строки.
  10. Файл закрывается.
  11. Программа ожидает нажатия клавиши для завершения работы.
  12. Возвращается 0, сигнализируя о успешном завершении работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы