Structuri de Date și Algoritmi

Laborator
8/10 (1 vot)
Conține 11 fișiere: doc
Pagini : 54 în total
Cuvinte : 13731
Mărime: 165.61KB (arhivat)
Publicat de: Zoe Dina Iordache
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Lector drd. Cristian Bologa
ubbcluj Informatica Economica an III

Extras din laborator

Se citesc m perechi de numere întregi (x,y) reprezentând extremitatile muchiilor unui graf neorientat cu n vârfuri si m muchii.

Sa se verifice daca graful este eulerian tiparindu-se un mesaj.

Un graf este eulerian daca este conex si gradele tuturor vârfurilor sunt numere pare.

Reprezentarea datelor

Consideram ca exemplu graful de mai jos, cu n=8 vârfuri

În functia principala main se citesc: numarul de vârfuri n , numarul de muchii m , precum si cele m perechi de numere ce reprezinta extremitatile muchiilor grafului.

Elementele matricei de adiacenta se vor tipari pe monitor. Tot în acest modul vom apela functia conex ().

În functia conex() verificam daca graful este conex situatie în care vom apela functia grad(), iar daca graful nu este conex vom afisa un mesaj „graful nu este eulerian”.

Functia grad() verifica daca gradele tuturor vârfurilor sunt numere pare.

Programul aferent este:

#include<stdio.h>

#include<conio.h>

int a[20][20],n,m,x,y,i,j;

void conex();

void grad();

void main()

{

clrscr();

printf("Dati nr de muchii:");

scanf("%d",&m);

printf("Dati nr de varfuri:");

scanf("%d",&n);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

a[i][j]=0;

for(i=1;i<=m;i++)

{do{

printf("n Dati muchia nr %d: ",i);

scanf("%d%d",&x,&y);

} while(x==y||x<1||x>n||y<1||y>n);

a[x][y]=1;

a[y][x]=1;

}

printf("nMatricea de adiacenta corespunzatoare este:nn");

for(i=1;i<=n;i++)

{for(j=1;j<=n;j++)

printf("%2d",a[i][j]);

printf("n");

}

conex();

getch();

}

void conex()

{

int start,viz[20],c[20],pi,ps,z;

printf("nDati varful start:");

scanf("%d",&start);

for(i=1;i<=n;i++)

{viz[i]=0;

c[i]=0;

}

ps=1;

pi=1;

c[pi]=start;

viz[start]=1;

while(ps<=pi)

{

z=c[ps];

for(i=1;i<=n;i++)

if(a[i][z]==1&&viz[i]==0)

{pi++;

c[pi]=i;

viz[i]=1;

}

ps++;

}

if(pi==n)

grad();

else

printf("nGraful nu este eulerian");

}

void grad()

{

int grad,k;

k=0;

for(i=1;i<=n;i++)

Preview document

Structuri de Date și Algoritmi - Pagina 1
Structuri de Date și Algoritmi - Pagina 2
Structuri de Date și Algoritmi - Pagina 3
Structuri de Date și Algoritmi - Pagina 4
Structuri de Date și Algoritmi - Pagina 5
Structuri de Date și Algoritmi - Pagina 6
Structuri de Date și Algoritmi - Pagina 7
Structuri de Date și Algoritmi - Pagina 8
Structuri de Date și Algoritmi - Pagina 9
Structuri de Date și Algoritmi - Pagina 10
Structuri de Date și Algoritmi - Pagina 11
Structuri de Date și Algoritmi - Pagina 12
Structuri de Date și Algoritmi - Pagina 13
Structuri de Date și Algoritmi - Pagina 14
Structuri de Date și Algoritmi - Pagina 15
Structuri de Date și Algoritmi - Pagina 16
Structuri de Date și Algoritmi - Pagina 17
Structuri de Date și Algoritmi - Pagina 18
Structuri de Date și Algoritmi - Pagina 19
Structuri de Date și Algoritmi - Pagina 20
Structuri de Date și Algoritmi - Pagina 21
Structuri de Date și Algoritmi - Pagina 22
Structuri de Date și Algoritmi - Pagina 23
Structuri de Date și Algoritmi - Pagina 24
Structuri de Date și Algoritmi - Pagina 25
Structuri de Date și Algoritmi - Pagina 26
Structuri de Date și Algoritmi - Pagina 27
Structuri de Date și Algoritmi - Pagina 28
Structuri de Date și Algoritmi - Pagina 29
Structuri de Date și Algoritmi - Pagina 30
Structuri de Date și Algoritmi - Pagina 31
Structuri de Date și Algoritmi - Pagina 32
Structuri de Date și Algoritmi - Pagina 33
Structuri de Date și Algoritmi - Pagina 34
Structuri de Date și Algoritmi - Pagina 35
Structuri de Date și Algoritmi - Pagina 36
Structuri de Date și Algoritmi - Pagina 37
Structuri de Date și Algoritmi - Pagina 38
Structuri de Date și Algoritmi - Pagina 39
Structuri de Date și Algoritmi - Pagina 40
Structuri de Date și Algoritmi - Pagina 41
Structuri de Date și Algoritmi - Pagina 42
Structuri de Date și Algoritmi - Pagina 43
Structuri de Date și Algoritmi - Pagina 44
Structuri de Date și Algoritmi - Pagina 45
Structuri de Date și Algoritmi - Pagina 46
Structuri de Date și Algoritmi - Pagina 47
Structuri de Date și Algoritmi - Pagina 48
Structuri de Date și Algoritmi - Pagina 49
Structuri de Date și Algoritmi - Pagina 50
Structuri de Date și Algoritmi - Pagina 51
Structuri de Date și Algoritmi - Pagina 52
Structuri de Date și Algoritmi - Pagina 53
Structuri de Date și Algoritmi - Pagina 54

Conținut arhivă zip

  • Structuri de Date si Algoritmi
    • Grafuri.doc
    • Lab10.doc
    • Lab11.doc
    • Lab2.doc
    • Lab3.doc
    • Lab4.doc
    • Lab5.doc
    • Lab6.doc
    • Lab7.doc
    • Lab8.doc
    • liste.doc

Alții au mai descărcat și

Practică informatică

1 INTRODUCERE Ce este un program? Un program este o listă de instrucțiuni date calculatorului pentru a le executa. Calculatorul va citi...

Programarea Calculatoarelor - Anul 1 - ETTI - C++

LUCRAREA 9 Scopul lucrarii îl constituie prezentarea tipurilor de date neomogene (structurile), utilizarea operatorului typedef în contextul...

Noțiuni introductive C++

Pentru testare se poate folosi urmatorul program: // include obiectele standard // pentru intrari/iesiri cu consola 1 #include <iostream> //...

VHDL

Simularea structurilor hardware digitale cu ACTIVE-HDL Această lucrare are ca principal obiectiv prezentarea mediului de dezvoltare ALDEC ACTIVE...

Programarea Calculatoarelor

1. Introducere in programarea calculatoarelor si prezentarea notiunii de algoritm Programarea calculatoarelor este procesul de proiectare,...

Limbaj de Programare C++

1. Prezentarea mediului de dezvoltare Microsoft Visual C++ 6.0 Microsoft Visual C++ 6.0 este mediul de dezvoltare integrat (Integrated Development...

Sisteme de Operare

Laborator nr. 1 Introducere in sistemul de operare Linux Surt istoric: Sistemul de operare UNIX a fost creat la Bell Laboratories in 1969, de...

Te-ar putea interesa și

Structuri de Date și Algoritmi - Gestionarea unui Magazin de Piese Auto

Gestiunea unui magazin de piese auto Se va realiza un program care va permite accesul la operatii specifice gestionarii unui magazin de piese...

Structuri de Date și Algoritmi

Motivatia alegerii temei. Utilitatea aplicatiei Am ales aceasta tema ca urmare a cerintelor avute la materia structuri de date si algoritmi,...

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Structuri de date și algoritmi - magazin de jucării

Un magazin de jucarii tine evidenta produselor cu ajutorul unui program pe claculator, care are ca structura de date un arbore AVL creat dupa cod....

Structuri de Date și Algoritmi

1 Tema:Implimentarea tipului abstract de date.Tabloul de structuri. 2 Sarcina:De implimentat tipul abstract de date,tablou de structuri si de...

Algoritmi și Structuri de Date

Modulul 0. Alocare dinamica in limbajul C Capitolul 0. Pointeri si alocare dinamica. Tipul de date struct 0.1 Pointeri si alocare dinamica O...

Structuri de Date și Algoritmi

1. Conceptul de dată În informatică, prin dată, se desemnează un model de reprezentare a informaţiei, model cu care se poate opera pentru a obţine...

Structuri de Date și Algoritmi

Lucrarea 1 Evaluarea si masurarea timpului de executie al unui algoritm 1.Definitia unui tip de date abstract - TDA Un TDA este un model...

Ai nevoie de altceva?