Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- long double a[4][3],w,wx,wy,wz,x,y,z;
- /*
- a b c d
- a00x + a01y + a02z = a03
- a10x + a11y + a12z = a13
- a20x + a21y + a22z = a23
- */
- void wczytaj() /*funkcja wczytujaca dane do tablicy a o rozmarze 4x3*/
- {
- int i=0;
- for(i;i<=3;i++)
- {
- printf("podaj wartość funkcji: \n");
- scanf("%lfx%lfy%lfz=%lf",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);
- }
- }
- /*opis sposobu wprowadzania danych do funkcji "macierz" */
- double macierz(double wartosci_kolumny1[/*zostawione puste przekazuje cala wiersz?*/][/* PODAJ numer kolumny do przekazania? */] ,double wartosci_kolumny2[][] ,double wartosci_kolumny3[][])
- { double wartosc_zwracana=0; /*powyższy komentarz odnosi sie do nastepnych trzech wprowadzen tablic do funkcji */
- /*
- wk_1 wk_2 wk_3
- wk_1 wk_2 wk_3
- wk_1 wk_2 wk_3
- na jakiej zasadzie dziala zostawianie postej komurki we wprowadzaniu danych do funkcji a jak gdy wpiszemy wartosc czy dobrze to rozumiem*/
- /*tutaj jest liczona wartosc danego wyznacnzika*/
- *wartosc_zwracana+=(wartosci_kolumny1[0]*wartosci_kolumny2[1]*wartosci_kolumny3[2]);
- *wartosc_zwracana+=(wartosci_kolumny1[1]*wartosci_kolumny2[2]*wartosci_kolumny3[0]);
- *wartosc_zwracana+=(wartosci_kolumny1[2]*wartosci_kolumny2[0]*wartosci_kolumny3[1]);
- *wartosc_zwracana-=(wartosci_kolumny3[0]*wartosci_kolumny2[1]*wartosci_kolumny1[2]);
- *wartosc_zwracana-=(wartosci_kolumny3[1]*wartosci_kolumny2[2]*wartosci_kolumny1[0]);
- *wartosc_zwracana-=(wartosci_kolumny3[2]*wartosci_kolumny2[0]*wartosci_kolumny1[1]);
- return wartosc_zwracana;
- }
- void oblicz_wartosci()
- {
- /*
- a b c d
- a00x + a01y + a02z = a03
- a10x + a11y + a12z = a13
- a20x + a21y + a22z = a23
- */
- /*z jakich kolumn*/
- *w = macierz(a[][0], a[][1], a[][2]); /*a b c*/
- *wx = macierz(a[][3], a[][1], a[][2]); /*d b c*/
- *wy = macierz(a[][0], a[][3], a[][2]); /*a d c*/
- *wz = macierz(a[][0], a[][3], a[][2]); /*a b d*/
- }
- void wyswietl_wartosci_rownania_z_3_niewiadomymi()
- {
- if (w != 0)/*gdy w różne od 0 rownanie ma jedno rozwiazanie*/
- {
- x = wx / w; y = wy / w; z = wz / w;
- printf("x=%f y=%f z=%f",x,y,z)
- }
- if (w == 0 && wx == 0 && wy == 0)
- {
- printf("równanie ma nieskonczenie wiele rozwiazan");
- }
- if (w == 0 && (wx != 0 || wy != 0))
- {
- printf("równanie jest sprzezne");
- }
- }
- int main()
- {
- wczytaj();
- oblicz_wartosci();
- wyswietl_wartosci_rownania_z_3_niewiadomymi();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement