Sunteți pe pagina 1din 16

Universitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică și Microelectronică


Departamentul Inginerie Software și Automatică

RAPORT
Lucrarea de laborator nr. 2
Disciplina Metode Numerice

Tema: Rezolvarea numerica a sistemelor de


ecuatii liniare

A îndeplinit: st.gr. TI-174


Rotari Viorel
A verificat: conf. univ.
E. Tutunaru

Chișinău – 2018
Scopul lucrării:
1) Sa se resolve sistemul de ecuatii liniare A*X=B, utilizand: metoda Jordan-Gauss.
Sistemul propus:
2x+1y+1z=2
4x+1y-2z=1
6x+2y-1=4
Efectuarea lucrării
Explicarea programului:
1. Introducem numarul de necunoscute, numarul de ecuatii, apoi introducem matricea A
si matricea B.
2. Selectarea elementului pivot, elementul pivot se ia elementul de pe diagonala principal
(n=m), daca aceste element este egal cu 0, atunci se cauta un element din alta linie sau
coloana care nu a fost selectata precedent.
3. Se repete pasul dat de n ori.
4. Dupa al 3-lea pas afisam matricea obtinuta si afisam rezultatele.

Codul c++:

#include <iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

int n,m,i,j,k;

float A[100][100],B[100],C[100][100];

while (1)

//Citirea datelor.

cout<<"\n\nIntroduceti numarul de necunoscute: "; cin>> m;


cout<<"\nIntroduceti numarul de ecuatii: "; cin>> n;

cout<<"\nIntroduceti matricea A, cate o linie: ";

int z = 0;

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

cout<<"\n"<<noshowpos<<z+1<<") "; z++;

//if ( n == m ) cout<<"\n"<<i+1<<") ";

for(j=0;j<m;j++)

cin>>A[i][j];

cout<<"\n\nIntroducem termenii liberi in matricea B: \n";

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

cout<<"B["<<noshowpos<<i+1<<"]: "; cin >> B[i];

//Unim matricea A si B intr-una pentru ca sa putem lucra dupa Jordan-Gauss cu un


tabel.

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

for (j=0; j<m;j++)

C[i][j] = A[i][j];

//Adaugam coloana termenilor liber.

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

C[i][m] = B[i];
cout<<"\n\nMatricea extinsa: "<<endl;

//Afisam tabelul

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

cout<<endl;

for (j=0;j<m+1;j++)

cout<<setw(10)<<left<<C[i][j] ;

float pivot;

int linia, coloana;

int s;

int res, caz;

float c[100],l[100];

for (s=0;s<n;s++)

for (j=0;j<m;j++)

if ( C[i][i] == 0 ) caz = 0; else caz =1;

//Metoda Jordan-Gauss.

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

//Verificam daca pe diagonala principala nu sunt zerouri:

switch (caz)

{
case 1:

//Alegem elementul pivot.

pivot = C[i][i];

//Calculam tabelul.

// Variabila noua s ca sa nu inlocuim valoarea linie i in for (i=0...)

for (s=0;s<n;s++)

for (j=0;j<m+1;j++)

if (s != linia && j != coloana) C[s][j] = ( (C[s][j] * pivot) - ( C[linia][j] *


C[s][coloana] ) ) / ( pivot );

//Impartim linia pivot la el pivot.

for (s=linia;s<linia+1;s++)

for (j=0;j<m+1;j++)

C[i][j] = C[i][j]/pivot;

//Inlocuit coloana pivot cu 0;

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

for (s=0;s<n;s++) // Variabila noua s ca sa nu inlocuim valoarea linie i in for


(i=0...)

C[s][j] = 0;

C[linia][coloana] = 1; // El pivot a fost inlocuit cu 0 la pasul precedent...

break;
}

case 0:

//Facem tabelul c si l cu valori de -1 pentru a vedea daca linia sau coloana


pivot nu a fost repetata.

for (s=0;s<n;s++)

l[s] = -1; c[s] = -1;

//Alegem elementul pivot.

for (j=0;j<m;j++)

if ( C[i][j] != 0 )

for (s=0;s<n;s++)

if ( l[s] != i && c[s] != j )

pivot = C[i][j]; linia = i; coloana = j;

l[s] = linia; c[s] = coloana;

//Calculam tabelul.

// Variabila noua s ca sa nu inlocuim valoarea linie i in for (i=0...)


for (s=0;s<n;s++)

for (j=0;j<m+1;j++)

if (s != linia && j != coloana) C[s][j] = ( (C[s][j] * pivot) - ( C[linia][j] *


C[s][coloana] ) ) / ( pivot );

//Impartim linia pivot la el pivot.

for (s=linia;s<linia+1;s++)

for (j=0;j<m+1;j++)

C[i][j] = C[i][j]/pivot;

//Inlocuit coloana pivot cu 0;

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

for (s=0;s<n;s++) // Variabila noua s ca sa nu inlocuim valoarea linie i in for


(i=0...)

C[s][j] = 0;

C[linia][coloana] = 1; // El pivot a fost inlocuit cu 0 la pasul precedent...

break;

//Afisam tabelul.

cout<<"\nTabelul obitnut dupa aplicarea metodei Jordan-Gauss: ";

cout<<endl;
for (i=0;i<n;i++)

cout<<endl;

for (j=0;j<m+1;j++)

if (C[i][j] == -0) C[i][j] = 0;

cout<<setw(10)<<left<<C[i][j];

//Afisam Solutia generala.

int ver[100] = { 0 }, t, sol = 0;

t = 3; s = 0;

if ( m > n ) t = 1;

//Compatibil nedeterminat.

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

for (j=0;j<m+1;j++)

if ( C[i][j] != ver[j] ) { sol = 1; }

if ( sol == 0 ) { t = 1; break; }

sol = 0;

}
int ver1[100] = { 0 };

int sol1 = 0;

//Incompatibil.

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

for(j=0;j<m;j++)

if ( C[i][j] != ver1[j] ) { sol1 = 1; }

if ( sol1 == 0 && C[i][m] != 0 ) { t = 2; break; }

sol1 = 0;

switch (t)

case 1:

int x,k;

cout << endl << setprecision(2) << "\nSistemul este Compatibil Nedeterminat !
";

cout<<"\nSolutia Generala:";

for(int i = 0; i < n; i++)

for(j = 0; j < m; j++)


{

if(C[i][j] == 1 )

cout << endl << noshowpos <<"x" << j+1 << " = ";

for(x = j+1; x < m; x++)

if(C[i][x]) cout <<showpos << -C[i][x] <<"x" << noshowpos<<x+1 <<


" ";

if(C[i][m]) cout << showpos <<C[i][m];

break;

break;

case 2:

cout<<"\n\nSistemul este incompatibil ! ";

cout<<"\nSolutia: Multimea Vida.";

break;

case 3:

cout<<"\n\nSistemul este compatibil determinat ! ";


cout<<"\nSolutia Sistemului: ";

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

for(j=0;j<m;j++)

if ( C[i][j] != 0 ) { cout<<endl<<"x"<<j+1<<" = "<<C[i][m]; }

break;

cout<<"\n\nPentru continuare apasati 1, pentru iesire din program apasati 0: ";

cout<<"\nRaspuns: "; cin >>res;

switch(res)

case 0: exit (0);

return 0;

Rezultatul programului:
1. Caz compatibil determinat:

2.

3. Caz compatibil nedeterminat


incompatibil
Concluzie

In aceasta lucrare sau studiat diferite metode de rezolvare a sistemelor de ecuatii liniare
A*X=B. Am creat un program in limbajul de programare c++ cu ajutorul carui se poate de aflat
solutiile unu sistem, cu ajutorul metodei Jordan Gauss.

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

  • MMC Lab2
    MMC Lab2
    Document6 pagini
    MMC Lab2
    Mihail Boran
    Încă nu există evaluări
  • Laborator-2mmc Balan Ion
    Laborator-2mmc Balan Ion
    Document12 pagini
    Laborator-2mmc Balan Ion
    Ion Bn
    Încă nu există evaluări
  • Raport: La Disciplina Metode Și Modele de Calcul 1
    Raport: La Disciplina Metode Și Modele de Calcul 1
    Document9 pagini
    Raport: La Disciplina Metode Și Modele de Calcul 1
    Anya Mr
    Încă nu există evaluări
  • Laborator-3 MMC Balan Ion
    Laborator-3 MMC Balan Ion
    Document6 pagini
    Laborator-3 MMC Balan Ion
    Ion Bn
    100% (1)
  • Lab 2 POO AI-191
    Lab 2 POO AI-191
    Document8 pagini
    Lab 2 POO AI-191
    Carolin
    Încă nu există evaluări
  • Metode Și Modele de Calcul 2
    Metode Și Modele de Calcul 2
    Document6 pagini
    Metode Și Modele de Calcul 2
    I LOVE ME
    Încă nu există evaluări
  • Ll1 Mmc1 Mereuta Ana Ti-192
    Ll1 Mmc1 Mereuta Ana Ti-192
    Document11 pagini
    Ll1 Mmc1 Mereuta Ana Ti-192
    Anya Mr
    Încă nu există evaluări
  • Asdn Lab 1
    Asdn Lab 1
    Document6 pagini
    Asdn Lab 1
    DmitriiGreen
    Încă nu există evaluări
  • MMC Lab3 Rap
    MMC Lab3 Rap
    Document4 pagini
    MMC Lab3 Rap
    I LOVE ME
    Încă nu există evaluări
  • Lab MMC2
    Lab MMC2
    Document5 pagini
    Lab MMC2
    Maxim
    Încă nu există evaluări
  • Lab 7 Cazacu POO
    Lab 7 Cazacu POO
    Document8 pagini
    Lab 7 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Laborator 1 MMC
    Laborator 1 MMC
    Document9 pagini
    Laborator 1 MMC
    Cristian Popa
    Încă nu există evaluări
  • Laborator-4 MMC1 Balan Ion
    Laborator-4 MMC1 Balan Ion
    Document6 pagini
    Laborator-4 MMC1 Balan Ion
    Ion Bn
    Încă nu există evaluări
  • Lab 3 BTD
    Lab 3 BTD
    Document6 pagini
    Lab 3 BTD
    Trifan Petru
    100% (1)
  • Lab 3 BTD Axenti
    Lab 3 BTD Axenti
    Document6 pagini
    Lab 3 BTD Axenti
    Alina Axenti
    Încă nu există evaluări
  • Lab 5 BTD Axenti
    Lab 5 BTD Axenti
    Document6 pagini
    Lab 5 BTD Axenti
    Alina Axenti
    100% (1)
  • LAB 3 Apa
    LAB 3 Apa
    Document14 pagini
    LAB 3 Apa
    Cristi Poselețchi
    Încă nu există evaluări
  • Laborator 5 POO
    Laborator 5 POO
    Document6 pagini
    Laborator 5 POO
    Constantin Palita
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document4 pagini
    Lab 6
    Егор Казаков
    Încă nu există evaluări
  • LFA Lab - 2
    LFA Lab - 2
    Document15 pagini
    LFA Lab - 2
    RoscaFlorin
    100% (1)
  • Lab6 CDE
    Lab6 CDE
    Document8 pagini
    Lab6 CDE
    Dinu Dogaru
    Încă nu există evaluări
  • Lucrarea de Laborator NR 5 POO
    Lucrarea de Laborator NR 5 POO
    Document4 pagini
    Lucrarea de Laborator NR 5 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • ASDN2
    ASDN2
    Document6 pagini
    ASDN2
    Viktor Dobrovolschi
    Încă nu există evaluări
  • Lab 6 Cazacu POO
    Lab 6 Cazacu POO
    Document5 pagini
    Lab 6 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Lab 1 LFA
    Lab 1 LFA
    Document10 pagini
    Lab 1 LFA
    Eric Semeniuc
    Încă nu există evaluări
  • Laborator 1 ASO
    Laborator 1 ASO
    Document4 pagini
    Laborator 1 ASO
    Жан Ганган
    Încă nu există evaluări
  • Lab NR 4 MMC2 Duca Dumitru TI 194
    Lab NR 4 MMC2 Duca Dumitru TI 194
    Document11 pagini
    Lab NR 4 MMC2 Duca Dumitru TI 194
    Santa Claus
    Încă nu există evaluări
  • LAb 6 SDA
    LAb 6 SDA
    Document7 pagini
    LAb 6 SDA
    Dima Cucu
    Încă nu există evaluări
  • CDE Lab 1
    CDE Lab 1
    Document6 pagini
    CDE Lab 1
    ViorelRotari
    Încă nu există evaluări
  • Lab 1 C++
    Lab 1 C++
    Document13 pagini
    Lab 1 C++
    Maxim Tincu
    Încă nu există evaluări
  • CDE Lab 2
    CDE Lab 2
    Document3 pagini
    CDE Lab 2
    Trifan Petru
    Încă nu există evaluări
  • Lab 1 PPE
    Lab 1 PPE
    Document4 pagini
    Lab 1 PPE
    King 79
    Încă nu există evaluări
  • Lab4 ASDN
    Lab4 ASDN
    Document3 pagini
    Lab4 ASDN
    Dinu Dogaru
    Încă nu există evaluări
  • Evaluarea 1 TSSS, Varianta 2
    Evaluarea 1 TSSS, Varianta 2
    Document2 pagini
    Evaluarea 1 TSSS, Varianta 2
    Alex Tronciu
    Încă nu există evaluări
  • Lab 1 MN
    Lab 1 MN
    Document6 pagini
    Lab 1 MN
    Irina Fedco
    Încă nu există evaluări
  • Lab APA 4
    Lab APA 4
    Document12 pagini
    Lab APA 4
    AlionaCrigan
    Încă nu există evaluări
  • Dutca Alexandru CR-182 Lab3 PCD
    Dutca Alexandru CR-182 Lab3 PCD
    Document5 pagini
    Dutca Alexandru CR-182 Lab3 PCD
    Dutca Alexandru
    Încă nu există evaluări
  • Lab1 MMC
    Lab1 MMC
    Document4 pagini
    Lab1 MMC
    Gheorghe Rotari
    Încă nu există evaluări
  • Lab 4 Cazacu POO
    Lab 4 Cazacu POO
    Document8 pagini
    Lab 4 Cazacu POO
    Iura Cazacu
    Încă nu există evaluări
  • Lab 4 CDE Axenti
    Lab 4 CDE Axenti
    Document6 pagini
    Lab 4 CDE Axenti
    Alina Axenti
    Încă nu există evaluări
  • LAb 3 CDE
    LAb 3 CDE
    Document4 pagini
    LAb 3 CDE
    cristian
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Raport ASDN Lab 1
    Raport ASDN Lab 1
    Document5 pagini
    Raport ASDN Lab 1
    Olea Zubcova
    Încă nu există evaluări
  • Lab4 MMC Taucci Afanasi AI-191
    Lab4 MMC Taucci Afanasi AI-191
    Document3 pagini
    Lab4 MMC Taucci Afanasi AI-191
    Carolin
    Încă nu există evaluări
  • Gjgguyghjjgjh
    Gjgguyghjjgjh
    Document4 pagini
    Gjgguyghjjgjh
    CS:GO cFG
    Încă nu există evaluări
  • Lab 3 MMC
    Lab 3 MMC
    Document4 pagini
    Lab 3 MMC
    Adrian Bodorin
    Încă nu există evaluări
  • PCD Lab 1 Nepiiovda Dmitrii
    PCD Lab 1 Nepiiovda Dmitrii
    Document10 pagini
    PCD Lab 1 Nepiiovda Dmitrii
    Catalina Bucur
    Încă nu există evaluări
  • Lab Nr. 4 POO
    Lab Nr. 4 POO
    Document3 pagini
    Lab Nr. 4 POO
    Егор Казаков
    Încă nu există evaluări
  • Lab 4 MN
    Lab 4 MN
    Document3 pagini
    Lab 4 MN
    nn nnn
    Încă nu există evaluări
  • Lab1 Poo
    Lab1 Poo
    Document15 pagini
    Lab1 Poo
    ciumac andrian
    100% (1)
  • Asdn Lab 2
    Asdn Lab 2
    Document6 pagini
    Asdn Lab 2
    DmitriiGreen
    Încă nu există evaluări
  • AC Lab 4
    AC Lab 4
    Document4 pagini
    AC Lab 4
    DanuIepuras
    Încă nu există evaluări
  • POO Lab7
    POO Lab7
    Document6 pagini
    POO Lab7
    Dani Ela
    Încă nu există evaluări
  • 1
    1
    Document8 pagini
    1
    laksid
    Încă nu există evaluări
  • Algoritmul Quine - McClusky Pentru Calcularea Implicantilor Primi (Varianta Zecimala)
    Algoritmul Quine - McClusky Pentru Calcularea Implicantilor Primi (Varianta Zecimala)
    Document17 pagini
    Algoritmul Quine - McClusky Pentru Calcularea Implicantilor Primi (Varianta Zecimala)
    Vlad Jerca
    Încă nu există evaluări
  • Subiecte TUIASI
    Subiecte TUIASI
    Document68 pagini
    Subiecte TUIASI
    Bîrsan Adina Elena
    Încă nu există evaluări
  • Laborator
    Laborator
    Document5 pagini
    Laborator
    Ion Bn
    Încă nu există evaluări
  • Curs 13 Ian 2023
    Curs 13 Ian 2023
    Document17 pagini
    Curs 13 Ian 2023
    Diana Nicoleta Penghiș
    Încă nu există evaluări
  • Portofoliu Informatica
    Portofoliu Informatica
    Document27 pagini
    Portofoliu Informatica
    Laurențiu Crețu
    Încă nu există evaluări
  • Raport Laborator2
    Raport Laborator2
    Document12 pagini
    Raport Laborator2
    Master Zero
    Încă nu există evaluări
  • Lab4 Decorator
    Lab4 Decorator
    Document6 pagini
    Lab4 Decorator
    ViorelRotari
    Încă nu există evaluări
  • Testarea Software
    Testarea Software
    Document6 pagini
    Testarea Software
    Ion Popescu
    Încă nu există evaluări
  • Baranov lab.1-TS
    Baranov lab.1-TS
    Document4 pagini
    Baranov lab.1-TS
    Никита Баранов
    Încă nu există evaluări
  • Teorema Esantionarii Laborator
    Teorema Esantionarii Laborator
    Document9 pagini
    Teorema Esantionarii Laborator
    ViorelRotari
    Încă nu există evaluări
  • Lab5 Proxt
    Lab5 Proxt
    Document7 pagini
    Lab5 Proxt
    ViorelRotari
    Încă nu există evaluări
  • Lab3 DP
    Lab3 DP
    Document9 pagini
    Lab3 DP
    ViorelRotari
    Încă nu există evaluări
  • Lab3 DP
    Lab3 DP
    Document9 pagini
    Lab3 DP
    ViorelRotari
    Încă nu există evaluări
  • Lucrarea Nr.5
    Lucrarea Nr.5
    Document6 pagini
    Lucrarea Nr.5
    ViorelRotari
    Încă nu există evaluări
  • Baze de Date Laborator 4 UTM
    Baze de Date Laborator 4 UTM
    Document13 pagini
    Baze de Date Laborator 4 UTM
    ViorelRotari
    100% (1)
  • Asdn Lab 1 Rotari Viorel
    Asdn Lab 1 Rotari Viorel
    Document7 pagini
    Asdn Lab 1 Rotari Viorel
    ViorelRotari
    Încă nu există evaluări
  • CDE Lab 1
    CDE Lab 1
    Document6 pagini
    CDE Lab 1
    ViorelRotari
    Încă nu există evaluări