Sunteți pe pagina 1din 2

Matei Maria-Mihaela

INFO2

Determinare vecinii unui varf

Plecand de la notiunile din curs, creati un program c/c++ care determina vecinii unui
varf al unui graf dat. In cadrul programelor de laborator atasate cursului, sunt date o
serie de solutii la teme. Fiecare student este rugat sa implementeze propria
versiune.

include <stdio.h>
include <conio.h>
void main(void) {
int n, a[50][50], i, j, x, v[50], k;
FILE * f;
f = fopen("graf.in", "r");
fscanf(f, "%d", &n);
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
fscanf(f, "%d", &a[i][j]);
fclose(f);
printf("\n graful citit are %d noduri!", n);
printf("\n matricea sa de adiacenta este:\n");
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
printf("dati varful ai carui vecini doriti sa-i aflati:");
scanf("%d", &x);
k = 0;
for (i = 1; i <= n; i++)
if (a[i][x] == 1 || a[x][i] == 1) {
k++;
v[k] = i;
}
printf("\n vecinii lui %d sunt:", x);
for (i = 1; i <= k; i++)
printf("%d ", v[i]);
getch();
}