Structuri de Date și Algoritmi

Proiect
8/10 (1 vot)
Conține 3 fișiere: docx, cpp, exe
Pagini : 7 în total
Cuvinte : 808
Mărime: 380.48KB (arhivat)
Publicat de: Leopoldina Toth
Puncte necesare: 8
Universitatea “Politehnica” Bucuresti Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei

Extras din proiect

Motivatia alegerii temei. Utilitatea aplicatiei

Am ales aceasta tema ca urmare a cerintelor avute la materia structuri de date si algoritmi, problema aleasa fiind baza si ajutand la fiabilizarea unor probleme mai complexe .

2.Structura aplicatiei: Schema logica main()

3.Detalii tehnice de implementare

#include<stdio.h>

#include<conio.h>

#include<malloc.h>

typedef struct nod

{

int nr;

nod *st, *dr;};

nod *prad=NULL,*a;

int v[50],x;

int sumacif(int i)

{

int s=0,c;

do {

c=i%10;

i=i/10;

s=s+c; } while(i!=0);

return s;

}

void inserare_nod(nod *&p, int k)

{

int n;

nod *q;

if (!p)

{

n=sizeof(nod);

q=(nod *)malloc(n);

q->nr=k;

q->st=q->dr=NULL; p=q; }

else

{

if(p->nr!=k)

if(sumacif(p->nr)>=sumacif(k))

inserare_nod(p->st,k);

else

inserare_nod(p->dr,k);

}

}

void preordine(nod *p)

{if (p)

{

printf(" %d ",p->nr);

preordine(p->st);

preordine(p->dr);

} }

void inordine(nod *p)

{

if (p)

{

inordine(p->st);

printf(" %d ",p->nr);

inordine(p->dr); } }

void postordine(nod *p)

{

if (p)

{

postordine(p->st);

postordine(p->dr);

printf(" %d ",p->nr);

} }

void cautare(int x,int y,nod *&a)

{ int i;

if(!a)

printf("nNodul nu exista! n");

else

if (x<a->nr)

cautare(x,y,a->st);

else

if (x>a->nr)

cautare(x,y,a->dr);

else

if(y !=0 )

a->nr=y;

else

{

a->nr=v[1];

for(i=2;i<=x;i++)

inserare_nod(a,v[i]);

}}

int noduri(nod *p)

{

if (!p)

return 0;

else

return (1+noduri(p->st)+noduri(p->dr));

}

int max(int x,int y)

{

if (x<y) return y;

else return x;

}

int nivel(nod *p)

{

if (!p)

return 0;

else

return (1+max(nivel(p->st),nivel(p->dr)));

}

int nr_frunze(nod *p)

{

if(!p)

return 0;

else

if((!p->st)&&(!p->dr))

return 1;

else

return (nr_frunze(p->st)+nr_frunze(p->dr));

}

int main()

{ int k,y;

printf("Dati radacina arborelui binar:");

scanf("%d",&k);

while(k!=0)

{

inserare_nod(prad,k);

printf("Dati un numar:");

scanf("%d",&k);

}

printf("nCe operatie doriti sa efectuati?n");

printf("a) Afisare arbore in preordine,inordine si postordine;n");

printf("b) Inlocuirea unui nod cu un nod nou;n");

printf("c) Inlocuirea unui nod cu un arbore construit dintr-un vector dat;n");

printf("d) Date despre arborele binar;n");

printf("Dati optiunea dumneavoastra: ");

switch(getche())

{

case 'a':

{

printf("nnPreordine:");

preordine(prad);

printf("nInordine:");

inordine(prad);

printf("nPostordine:");

postordine(prad);

break;

}

case 'b':

{

printf("nnDati nodul vechi:");

scanf("%d",&k);

printf("Dati nodul nou:");

scanf("%d",&y);

cautare(k,y,prad);

printf("Preordine:");

preordine(prad);

printf("nInordine:");

inordine(prad);

printf("nPostordine:");

postordine(prad);

break;

}

case 'c':

{

printf("nnDati nodul vechi:");

scanf("%d",&k);

printf("Numarul de elemente din vector:");

scanf("%d",&x);

for(y=1;y<=x;y++)

{printf("v[%d]= ",y);

scanf("%d",&v[y]);}

cautare(k,0,prad);

preordine(prad);

break;

}

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

Conținut arhivă zip

  • Structuri de Date si Algoritmi
    • Structuri de Date si Algoritmi.cpp
    • Structuri de Date si Algoritmi.docx
    • Structuri de Date si Algoritmi.exe

Alții au mai descărcat și

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Structuri de Date

O agenţie CFR dintr-un oraş face rezervarea biletelor pentru trenuri prin intermediul unui fişier F1, cu următoarea structură: • câmpul C1: cod...

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...

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...

Structuri de Date și Algoritmi

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...

Ai nevoie de altceva?