Sunteți pe pagina 1din 4

MINISTERUL EDUCAȚIEI ȘI CERCETĂRII AL REPUBLICII

MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Microelectronică și Inginerie Biomedicală

RAPORT
Lucrare de laborator nr.2
la cursul „Matematica Discreta”

A efectuat : St. gr. EA-221, Andreev Roman


A verificat:

Chișinău 2023
1
#include <stdio.h>
#include <stdbool.h>

#define noduri 100

int n,m,reprezentare;
int mat[noduri][noduri];
bool vizitat[noduri];
void dfs(int nod) {
vizitat[nod] = true;
printf("%d ", nod);
for (int i = 1; i <= n; i++) {
if (mat[nod][i] == 1 && !vizitat[i]) {
dfs(i);
}
}
}

int main()
{
printf("alegeti metoda de introducere a grafului :\n1-matrice de adiacenta \n2-noduri si
muchii \n");
scanf("%d",&reprezentare);
printf("introduceți numarul de noduri:");
scanf("%d", &n);

if (reprezentare==1){

printf("inntroduceți matricea de adiacenta:\n");

2
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
scanf("%d", &mat[i][j]);
}
}}
else {
printf("introduceti numarul de muchii:");
scanf("%d",&m);
for (int i = 0; i < m; i++) {

int u, v;
printf("introdu muchia (u, v): ");
scanf("%d%d", &u, &v);
mat[u][v] = 1;
mat[v][u] = 1;
}
}
int start;
printf("\ndati nodul de la care sa inceapa parcurgerea\n");
scanf("%d",&start);
dfs(start);

return 0;
}

S-ar putea să vă placă și