Informatika gyűjtemény

Egy szinttel feljebb szp_oszt.c

2004050607080910

NézetNyomtat

szp_oszt.c (Vissza)
Az alábbi letöltési lehetőségek közül választhatsz: (segítség)
Karakterkódolás:
Sortörés:
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 1 KB
#include <stdio.h>
#include <stdlib.h>

void urit_t(void);
void urit_i(void);
int telefonal(int);

int tanulok[100];
int ismer[100][100];

int main() {
   int n, i, tmp0, tmp1, max, mn;
   FILE *osztaly_io;

   urit_i(); max = 0; mn = 0;

   osztaly_io = fopen("osztaly.be", "rt");
   fscanf(osztaly_io, "%u", &n);
   for(= 0; i < n; i++) {
       do {
           fscanf(osztaly_io, "%u", &tmp0);
           if(tmp0 != 0) {
               ismer[i][tmp0-1] = 1;
           }
       } while (tmp0 != 0);
   }
   fclose(osztaly_io);


   for(= 0; i < n; i++) {
       urit_t();
       tanulok[i]=1;
       while(telefonal(n)) {}
       tmp0 = 0;
       for(tmp1 = 0; tmp1 < n; tmp1++) {
           if (tanulok[tmp1] == 1) {tmp0++;}
       }

       if(tmp0 > max) {max = tmp0; mn = i+1;}
   }
   osztaly_io = fopen("osztaly.ki", "wt");
   fprintf(osztaly_io, "%u", mn);
   fclose(osztaly_io);
}

void urit_t() {
   int i;
   for(= 0; i < 100; i++) {
       tanulok[i] = 0;
   }
}
void urit_i() {
   int i1, i2;
   for(i1 = 0; i1 < 100; i1++) {
       for(i2 = 0; i2 < 100; i2++) {
           ismer[i1][i2] = 0;
       }
   }
}
int telefonal(int n) {
   int i1, i2;
   int valt = 0;
   for(i1 = 0; i1 < n; i1++) {
       for(i2 = 0; i2 < n; i2++) {
           if(tanulok[i1] == 1) {
               if(ismer[i1][i2] == 1) {
                   if(tanulok[i2] == 0) {
                       tanulok[i2] = 1;
                       valt = 1;
                   }
               }
           }
       }
   }
   return valt;
}
(Vissza)