Ma ajutati si pe mine va rog frumos cu urmatoarele exercitii?
1) Interschimbul a 2 linii
2) Adunarea cu 2 linii si adunarea rezultatelor in 1
3) Gauss cu simpla pivotare
STiu datele de intrare in matrice da nu stiu cum sa scriu mai departe la fiecare exercitiu
Pe prima am reusit-o si cred ca o voi reusi si pe a 2-a dar sunt foarte ocupat si nu am timp.
Dar trebuie sa si gandesti.
De fiecare data cand lucrezi cu matrici trebuie sa dai atentie maxima indicilor. Pentru ca, practic, cu ei lucreaza programul.
In acest caz, (atunci cand interschimbi 2 linii), trebuia sa observi faptul ca primul indice (i) este constant (de fapt, el reprezinta numarul liniei), iar cel de-al doilea indice (j) se incrementeaza pana cand atinge numarul coloanelor. Asta era cheia problemei, dar in rest, cu interschimbarea, era clasicul algoritm.
Iti dau un hint:
Eu de fiecare data cand lucrez cu matrici, imi fac o matrice de forma:
sau cu elemente mai multe, depinde de caz. Astfel, e mult mai usor de observat indicii si implicit rezolvarea problemei.
Multumesc pt primul exercitiu.😀 Imi dau seama ca esti ocupat si apreciez faptul ca ma ajuti. Cand vrei si cand ai timp poate ma ajuti si cu celelalte 2.Multumesc inca o data pentru primul exercitiu 😉
Multumesc cosmin pentru hint insa nu sunt un as in ce priveste programarea si imi e mai greu sa-mi dau seama de anumite lucruri🙁
Dar nici nu trebuie sa fii as in programare. Trebuie doar sa gandesti. Daca te descurci la matematica, nu ai cum sa nu te descurci la informatica.
In sfarsit a venit weekend-ul si am zis sa ma ocup de problema ta (cea de-a 2-a). In primul rand enuntul este cam confuz. Sa iti spun ce am inteles eu.
Avem o matrice de forma: (ca exemplu)
Iar cerinta este sa adunam 2 linii in una. De exemplu sa adunam liniile 2 si 3:
Asta este cerinta? Nu o sa incep rezolvarea pana nu imi raspunzi la inntrebare pentru ca nu vreau sa rezolv ceva ce nu trebuie. Asta datorita incoerentei cerintei. Astept raspunsul.
E vag enuntul la 3) Nu inteleg ce inseamna gauss cu pivotare SIMPLA. Exista 2 pivotari….partiala si totala. Nu stiu la care face referire…daca vrei programu` adu detalii. Pivotarile partiale si totale fac referire la rezolvarea unui sistem de forma A*x=b. Gauss zice ca daca pivotam pe A si schimbam si b-ul ajungem la rezolvarea unui sistem triunghiular cu necunoscuta x. Eu ti-am facut programul pentru a-l triunghiulariza pe A (superior triunghiular) am comentat ce era cu b-ul ala daca vrei sa vezi ce se intampla decomenteaza sursa.
#include<stdio.h>
#include<conio.h>
int main()
{int a[100][100],i,j,n,b[100],t,k;
printf(„n=”);
scanf(„%d”,&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
{printf(„a[%d][%d]=”,i,j);
scanf(„%d”,&a[j]);}}
/*for(i=1;i<=n;i++)
{printf(„b[%d]=”,i);
scanf(„%d”,&b);}*/
for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{t=a[j]/a;
a[j]=0;
for(k=j;k<=n;k++)
a[j][k]=a[j][k]-t*a[k];
//b[j]=b[j]-t*b;
}}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
printf(„%d „,a[j]);
printf(„\n”);}
/*for(i=1;i<=n;i++)
printf(„%d „,b);
printf(„\n”);*/
getch();
return 0;}