Запись и считывание в файл txt - C (СИ)
Формулировка задачи:
доброго времени суток, уважаемые программисты, я конечно жутко извиняюсь, за примитивный вопрос, но мне нужна помощь, очень! Суть состоит в том, что матрица меняет максимальный и минимальный элемент матрицы местами, НО она должна считывать элементы с файла txt и записывать конечный результат так же в txt, как это сообразить я не знаю, очень прошу, помогите!!
Решение задачи: «Запись и считывание в файл txt»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main () { FILE *f,*g; int i, j, m, n, v, minj=0,maxj=0,t,mini=0,maxi=0; // printf (" Введите размер матрицы "); // scanf ("%i %i", &n, &m); int a[100][100], max, min; /* switch (v) { case 0: for (i=0; i<n; i++) for (j=0; j<m; j++) a[i][j] = rand()%200; break; case 1: for (i=0; i<n; i++) for (j=0; j<m; j++) { printf ("A[%i][%i]= ", i+1, j+1); scanf ("%i", &a[i][j]); } } */ if (!(f=fopen("input.txt","r"))) return(-1); else { fscanf (f,"%i %i",&n,&m); for (i=0;i<n;i++) for (j=0; j<m; j++) fscanf (f,"%i",&a[i][j]); fclose(f); } max=min=a[0][0]; for (i=0; i<n; i++) { for (j=0; j<m; j++) { printf ("%i ", a[i][j]); if (max < a[i][j]) {max = a[i][j]; maxj=j;maxi=i;} if (min > a[i][j]) {min = a[i][j];minj = j ;mini=i;} } printf ("\n"); } system("PAUSE"); printf("\n\n%d\n%d\nmaxj=%d\nminj=%d\n",max,min,maxj,minj); /* for (i=0; i<n; i++)// меняем { for (j=0; j<m; j++) { if (j==minj) { t=a[i][j]; a[i][j]=a[i][maxj]; a[i][maxj]=t;// здесь должно менять } } for (j=0; j<m; j++) printf ("%i ", a[i][j]); printf ("\n"); }*/ t=a[maxi][maxj]; a[maxi][maxj]=a[mini][minj]; a[mini][minj]=t;// здесь должно менять if (!(f=fopen("output.txt","w"))) return(-1); else { fprintf(f,"%i %i ",n,m); for (i=0;i<n;i++) for (j=0; j<m; j++) { fprintf(f,"%i",a[i][j]); if ((i!=n-1)||(j!=m-1)) fprintf(f," "); } fclose(f); } system("PAUSE"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д