Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define N 15 // sorok száma
- #define M 20 // betűk száma soronként
- int main()
- {
- char fogl[N][M];
- FILE *f=fopen("foglaltsag.txt","r");
- int sor=0, osz=0;
- int kar;
- while ((kar = fgetc(f)) != EOF) {
- if (kar == '\n') {
- sor++; // kovetkező sor
- osz = 0; // első karaktere jön majd
- } else {
- fogl[sor][osz] = (char)kar;
- osz++;
- }
- }
- fclose(f); // nem kell már a file, lezárjuk
- for (sor = 0; sor < N; sor++) {
- for (osz = 0; osz < M; osz++) {
- printf("%c",fogl[sor][osz]);
- }
- printf("\n");
- }
- return 0;
- }
- ///////////////////////////////////// MÁSIK VERZIÓ //////////////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- #define N 15 // sorok száma
- #define M 20 // betűk száma soronként
- #define SORHOSSZ M+3 // a memóriában van még sorvégjel (2 byte) és lezáró 0 is
- // Valójában még ennél is hoszabb puffert lenne érdemes lefoglalni, hátha valamelyik sor
- // hosszabb lenne. De nincs hibakezelés aprogramban, szóval ilyen hossz problémákra se készülünk fel.
- int main()
- {
- char fogl[N][M]; // az x és o jelek tömbje
- char egysor[SORHOSSZ]; // egyetlen sor a file-ból
- FILE *f=fopen("foglaltsag.txt","r");
- int sor=0, osz=0;
- // mindaddig, amíg van újabb sor a file-ban, beolvassuk a teljes sort:
- while (fgets(egysor, SORHOSSZ, f)) {
- // a sorban o vagy x lehet csak
- for (osz=0; egysor[osz] == 'o' || egysor[osz] == 'x'; osz++) {
- fogl[sor][osz] = egysor[osz]; // átteszük a végleges helyére
- }
- sor++; // továbblépünk a következő sorra a fogl tömbben
- }
- fclose(f); // nem kell már a file, lezárjuk
- for (sor = 0; sor < N; sor++) {
- for (osz = 0; osz < M; osz++) {
- printf("%c",fogl[sor][osz]);
- }
- printf("\n");
- }
- return 0;
- }
- ///////////////////////////////////// HARMADIK VERZIÓ //////////////////////////////////
- #include <stdio.h>
- #include <stdlib.h>
- #define N 15 // sorok száma
- #define M 20 // betűk száma soronként
- int main()
- {
- char fogl[N][M];
- FILE *f=fopen("foglaltsag.txt","r");
- int sor=0, osz=0;
- while (!feof(f)) {
- char kar;
- fscanf(f, "%c", &kar); // beolvassuk a file-ból a következő karaktert
- // aztán elemezzük, hogy mi jött
- if (kar == '\n') {
- // ha sorvég karakter jött, továbblépünk a következő sorra:
- sor++; // kovetkező sor
- osz = 0; // első karaktere jön majd
- } else {
- // nehogy más is legyen a file-ban, csak az x meg az o az, amit lerakunk
- if (kar == 'x' || kar == 'o') {
- fogl[sor][osz] = kar;
- osz++;
- }
- }
- }
- fclose(f); // nem kell már a file, lezárjuk
- for (sor = 0; sor < N; sor++) {
- for (osz = 0; osz < M; osz++) {
- printf("%c",fogl[sor][osz]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement