Wczytanie z pliku do tablicy dwuwymiarowej C

0

Cześć otóż mam problem.
Mam plik który wygląda tak
3
5 2 9
3 9 6
2 9 1
W pierwszym wierszu jest, wymiar macierz M 3 x 3
I za pomocą funkcji sscanf, mam wczytać rozmiar macierzy (pierwszy wiersz).
A następnie Macierz 3 x 3 do dwuwymiarowej tablicy.
Jezyk C

0

@lion137:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void)
{
    FILE *fp;
    fp=fopen("macierz.txt","r");

    char bufor[1024];
    int tab[60][60];
    int wymiar;
    int ileLinijek=1;
    if(fp==NULL)
    {
        perror("Nie moge otworzyc");
        return -1;
    }
    for(;;){
        if(fgets(bufor,3,fp)==NULL) break;
        sscanf(bufor, "%d", &wymiar);
        ileLinijek++;
        if(ileLinijek>1) break;
    }
    printf("%d\n",wymiar);
    if((fp=fopen("macierz.txt","r"))!=NULL)
    {
        for(int i=0; i<wymiar; ++i){
            for(int j=0; j<wymiar; ++j){
                fscanf(fp,"%d",&tab[i][j]);
            }
        }
    }
    if((fp=fopen("macierz.txt","r"))!=NULL){
        for(int i=0; i<wymiar; ++i){
            for(int j=0; j<wymiar; ++j){
                printf("%d ",tab[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}
1
#include <stdio.h>
#include <stdlib.h>

void fatal(int ok,const char msg[]) { if(!ok) exit(fprintf(stderr,msg)-1); }

int main (void)
{
	FILE *fp=fopen("macierz.txt","r");
	int x,y,size;
	int tab[60][60];
	fatal(fp!=NULL,"Nie moge otworzyc");
	fatal(fscanf(fp,"%d",&size)==1,"Nie udalo sie wczytac rozmiar");
	for(y=0;y<size;++y)
	{
		for(x=0;x<size;++x)
		{
			fatal(fscanf(fp,"%d",&tab[y][x])==1,"Nie udalo sie wczytac wartosci");
		}
	}
	for(y=0;y<size;++y,printf("\n")) for(x=0;x<size;++x) printf("%d ",tab[y][x]);
	return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1