Запись и считывание в файл 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");
}

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

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