Informatika gyűjtemény

Egy szinttel feljebb mb_oszt.c

2004050607080910

NézetNyomtat

mb_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: 963 byte
#include <stdio.h>

char ismer[100][100];
int hivva[100];
int n;

void nullaz()
{
    int i, j;

    for (= 0; i < n; i++)
        for (= 0; j < n; j++)
            ismer[i][j] = 0;
}

int beolvas()
{
    int i, j;

    if (scanf("%d", &n) != 1) {
        printf("hibas bemenet (nincs n)\n");
        return 0;
    }

    for (= 0; i < n; i++) {
        while (1) {
            if (scanf("%d", &j) != 1) {
                printf("hibas bemenet (nincs ismeros)\n");
                return 0;
            }

            if (== 0)
                break;

            ismer[i][- 1] = 1;
        }
    }

    return 1;
}

int rek(int i)
{
    int j, s = 0;

    if (hivva[i])
        return 0;

    hivva[i] = 1;

    for (= 0; j < n; j++)
        if (ismer[i][j])
            s += rek(j);

    return s + 1;
}

int hiv(int i)
{
    int j;

    for (= 0; j < n; j++)
        hivva[j] = 0;

    return rek(i);
}

int main()
{
    int i, m, max = -1, max_ind = -1;

    nullaz();

    if (!beolvas())
        return 1;

    for (= 0; i < n; i++) {
        m = hiv(i);
        if (> max) {
            max = m;
            max_ind = i;
        }
    }

    printf("%d\n", max_ind + 1);

    return 0;
}
(Vissza)