Archive for category Data Structures

Utilizarea sirurilor de caractere in limbajul de programare C++

In limbajul de programare C++, un sir de caractere se defineste in doua moduri:

  • vector de caractere – zona de memorie de lungime prestabilita care se rezerva la momentul compilarii aplicatiei;
  • pointer – contine adresa de memorie unde se stocheaza sirul de caractere; de regula, aceasta zona de memorie este alocata la momentul executiei aplicatiei.

Read the rest of this entry »

, , ,

No Comments

Librarie de functii si proceduri pentru lucru cu matrici (masive bidimensionale) in limbajul C si C++ – Diferite prelucrari

Functiile de prelucrare in matrice sunt acele functii care fac diferite operatii matematice, operatii de interschimbare, numarare, modificare, stergere, inlocuire asupra elementelor unei matrice modificând-o in cele mai multe cazuri.

Read the rest of this entry »

,

No Comments

Librarie de functii si proceduri pentru lucru cu matrici (masive bidimensionale) in limbajul C si C++ – Functii de comparare

Functiile de comparare a matricelor sunt folosite cu scopul de afla informatii despre o matrice sau un set de matrice din punctul de vedere al tipului unei matrice, a tipului elementelor ce o compun sau a numarului de aparitii in cadrul acelei matrice al unei chei definite de utilizator.

Read the rest of this entry »

,

No Comments

Librarie de functii si proceduri pentru lucru cu matrici (masive bidimensionale) in limbajul C si C++ – Proceduri de calcul

Tutoriale pe aceasta tema:

Acest tutoria include adunarea a doua matrice, inmultirea a doua matrice, transpunerea unei matrice, diferenta dintre doua matrice, inversa unei matrice ridicarea la putere a unei matrice etc.. Tot in aceasta clasa de proceduri sunt incluse si operatiile de adunare, scadere, inmultire si transpunere cu matrice vectorizate. De exemplu, suma a doua matrice vectorizate presupune transformarea matricelor in vectori, suma efectuandu-se acum intre doi vectori. Analog se realizeaza si scaderea, inmultirea si transpunerea matricei.

In continuare se prezinta procedurile care realizeaza operatiile specificate mai sus, precum si paralela intre modul de lucru cu o matrice alocata static si una alocata dinamic. Read the rest of this entry »

,

No Comments

Librarie de functii si proceduri pentru lucru cu matrici (masive bidimensionale) in limbajul C si C++ – Citire si Afisare

Pentru realizarea calculului matriceal este necesara existenta matricei sau matricelor. Crearea necorespunzatoare a obiectului de lucru, si anume matricea, duce la efecte total neasteptate. De aceea, pentru a fi lipsiti de neplaceri, atentia acordata acestor functii este maxima.

In calculul matriceal sunt incluse si functii de intrare si iesire. Aceste functii realizeaza:

  • crearea matricei, fie de la consola ca in cazul bibliotecii matrice.h, fie initializata cu zero ca in cazul clasei matrix( constructorul cu parametrii);
  • afisarea matricei pe ecran.

Cum in biblioteca de functii matrice.h se lucreaza cu o matrice de dimensiuni constante, iar in clasa matrix se utilizeaza o variabila de tip pointer, deci dinamic, sunt prezentate ambele moduri de creare( dinamic si static).

In continuare se prezinta functiile care realizeaza creare matricei. In practica se observa, ca pe langa matricea dorita, sunt folosite o serie de matrice ajutatoare cum ar fi matricea unitate, matricea booleana, matricea cu 1 pe o linie si in rest zero etc.. Functiile de creare a acestor matrice sunt functii de intrare, iar afisarea lor este realizata tot cu functii de iesire.
Read the rest of this entry »

,

1 Comment

Librarie de functii si proceduri pentru lucru cu matrici (masive bidimensionale) in limbajul C si C++ – Introducere

Library source: Librarie de functii si proceduri pentru lucru cu matrici in limbajul C si C++

Limbaj programare: C / C++
Data: 04.2002
Autori: Catalin Boja si Niculescu Silviu
Licenta: Creative Commons Attribution 3.0 License

Lucrarea de fata isi propune sa abordeze o serie de aspecte legate de construirea unei biblioteci de proceduri pentru solutionarea de probleme in care apar ca operanzi matricele. Primele capitole grupeaza subprograme pentru initializare, afisare, calcul matriceal. Ultimele capitole prezinta abordarea obiectuala a acestei probleme.S-a procedat la crearea unei biblioteci specializate pe calcule matriceale si la utilizarea in solutionarea de probleme practice.

Read the rest of this entry »

,

3 Comments

Conversia unei expresii matematice din scrierea infixata in scrierea postfixata in C++

Scrierea postfixata (forma poloneza inversa) a fost realizata de matematicianul de origine poloneza Jan Lukasiewicz. Particularitati ale acestei forme de scriere a expresiilor matematice sunt prezentate la [...].
Un algoritm de transformare a unei expresii matematice din scrierea infixata in scrierea postfixata a fost elaborat de Edsger Dijkstra (Dijkstra Shunting Algorithm).
Read the rest of this entry »

, , , ,

10 Comments

Structurile de date Stiva si Coada in C++

Stiva este o structura de date logica, implementarea sa din punct de vedere fizic fiind realizata prin utilizarea altor structuri de date.
Elementele componente ale structurii de tip stiva sunt de acelasi tip, ceea ce inseamna ca stiva este o structura de date omogena.
Exista doua operatii de baza cu structura de tip stiva: adaugarea si extragerea unui element. Modalitatea de implementare a operatiilor este data de disciplina de acces: LIFO – Last In First Out. Toate inserarile (push) si extragerile (pop) sunt realizate la acelasi capat al structurii de implementare, denumit varful stivei.
Read the rest of this entry »

, , , ,

2 Comments

Evaluarea unei expresii matematice in scrierea postfixata in C++

Scrierea postfixata (forma poloneza inversa) [...] este o forma de reprezentare a unei expresii matematice aritmetice in care operatorii sunt scrisi, specificati dupa operanzi.
Avantaje ale scrierii postfixate fata de scrierile prefixata si infixata:

  • Evidentierea clara a ordinii de efectuare a operatiilor;
  • Parantezele pentru fortarea prioritatii de aplicare a operatorilor nu mai sunt necesare;
  • Evaluarile sunt usor de efectuat cu ajutorul calculatorului.

Read the rest of this entry »

, , , ,

1 Comment

Implementarea structurii de date Matrice Rara in C++ utilizand lista simplu inlantuita

Structurile de stocare a matricelor rare sunt prezentate la [...].
Lista simpla este o structura de date liniara, formata din elemente denumite noduri. Un nod este compus din doua categorii de campuri:

  • Campul cu informatia necesara prelucrarii;
  • Campul cu informatia de legatura cu nodul succesor in cadrul structurii de tip lista simpla; se defineste sub forma de pointer catre structura nodului pentru a retine adresa nodului care urmeaza in cadrul listei simple.

Read the rest of this entry »

, , , ,

2 Comments