1

Тема: вивід матриці в файли

Ще раз добого дня!!!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <time.h>
#include <malloc.h>
 
// main
int main()
{ 
int i, j, size;
int** m;
 
srand(time(0)); 
scanf("%d", &size);
m = (int**) malloc(size*sizeof(int*));
 for(i=0;i<size;i++) 
m[i] = (int*) malloc(size*sizeof(int));
 
for (i=0;i<size;i++)
for(j=0;j<size;j++)
m[i][j]=rand()%9;
 for (i=0;i<size;i++)
{
for(j=0;j<size;j++) 
{
 
if (j == (size - 1) - i) printf( "%d ", m[i][j]);
 if (i != j) {if (j != (size - 1) - i) printf( "  ", m[i][j]);}
else { if (j != (size - 1) - i) printf( "%d ", m[i][j]);}
 }
printf( "\n");
}
 printf( "\n");
 
for(i=0;i<size;i++) 
free (m[i]);
 
free(m);
getch (); 
return 0;

Це програма яка виводить матрицю симетрично її вертикальної і головної діагоналі!!!!!
При запуску програми пропонується вводити розмір матриці потім програма виводить результат(матрицю). Мені потрібно щоб після цих дій програма вивела результати в текстовий і бінарний файл.(зауваження!! в моїх одногрупниках вони бінарні файли створювали без розширення просто був файл і вони могли переглянути результат так як як текстовий проте без табуляцій, просто матриця вставала в рядок цифр а не як матриця!!)кому не важко допоможіть!

2

Re: вивід матриці в файли

Дуже подібно до цієї теми.

З чим проблема?

3

Re: вивід матриці в файли

мені потрібно щоб вона результат вивела не тільки в програмі а й після завершення в текстовий і бінарний(бінарний має читатися як текстовий)

4

Re: вивід матриці в файли

sardar2222 написав:

мені потрібно щоб вона результат вивела не тільки в програмі а й після завершення в текстовий і бінарний(бінарний має читатися як текстовий)

Так у чому складнощі то? У вас взагалі ідентичні функції вийти можуть, за винятком лише того, що для текстових режим "w", а для бінарних - "wb".

У попередній темі ви маєте код, який треба зовсім трохи переробити під вимоги ваші. Невже це задача рівня теореми Ферма?..

5

Re: вивід матриці в файли

питання ще в іншому як відкрити бінарний файл щоб там були нормальні символи результат а не всякі там символи

6

Re: вивід матриці в файли

ось наприклад програма!!!вона виводить в бінарний файл проте коли я його відкриваю як текстовий нормально рядок матриці все видно!!!а коли я в минулій темі виводжу в бінарний файл бачу знаки питання і тому подібне в чому суть?

7

Re: вивід матриці в файли

sardar2222 написав:

ось наприклад програма!!!вона виводить в бінарний файл проте коли я його відкриваю як текстовий нормально рядок матриці все видно!!!а коли я в минулій темі виводжу в бінарний файл бачу знаки питання і тому подібне в чому суть?

Коли ви пишете у текстовому режимі, до файлу записуються символи.
Коли ви пишете у бінарному режимі, до файлу записуються двійкові дані - байти.

Сіль у тому, що символ '3' та число 3 відрізняються на рівні даних, бо перше - символ в 1 байт, а друге - число в 2 (4) байти. Якщо ви запишете до файлу не саме число, а його текстовий образ, то побачите очікувану матрицю у файлі у нормальному вигляді.

char arr[1000] = {0};
sprintf(arr, "%d", 123);
fwrite(arr, strlen(arr), 1, filePointer);

Але це уже буде текст, а не двійкові дані.

З.І: виключення з правила спостерігається лише для запису у двійковому режимі текстових даних типу char. Пояснюється розміром типу даних.