Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Joanna Binek, grupa 2a, sroda godz 12:30, nr indeksu 297183
- // program na kolokwium - "macierz rzadka"
- #include <stdio.h>
- #include <stdlib.h>
- #define WIE 3
- #define KOL 4
- struct komorka{
- int wiersz;
- int kolomna;
- double wartosc;
- struct komorka * nastepna;
- };
- void stworz(struct komorka ** poczatek,int x,int y,double wart) {
- struct komorka *nowa;
- nowa=(struct komorka *)malloc(sizeof(struct komorka));
- nowa->nastepna=(*poczatek);
- nowa->wiersz=x+1;
- nowa->kolomna=y+1;
- nowa->wartosc=wart;
- (*poczatek)=nowa;
- };
- void wyswietl(struct komorka* poczatek){
- while(poczatek!=NULL){
- printf("Wie: %d, kol: %d, ma wartosc: %lf\n",poczatek->wiersz,poczatek->kolomna,poczatek->wartosc);
- poczatek=poczatek->nastepna;
- }
- };
- struct nn{
- struct komorka * najwiekszy;
- struct komorka * najmniejszy;
- };
- struct nn najwiekszy_najmniejszy(struct komorka * poczatek){
- struct komorka *najw=poczatek;
- struct komorka *najm=poczatek;
- while (poczatek!=NULL){
- if ((poczatek->wartosc)<(najm->wartosc)) najm=poczatek;
- poczatek=poczatek->nastepna;
- }
- while (poczatek!=NULL){
- if ((poczatek->wartosc)>(najw->wartosc)) najw=poczatek;
- poczatek=poczatek->nastepna;
- }
- return (struct nn){najw, najm};
- };
- int main()
- {
- int i,j;
- struct komorka *poczatek=NULL;
- struct komorka * najwi,*najmn;
- double tab[WIE][KOL]={{1.,0.000001,0.,4.},{0.,1.,0.,3.456},{0.,0.,1.,0.}};
- for(i=0;i<WIE;++i){
- for(j=0;j<KOL;++j){
- if (tab[i][j]!=0){stworz(&poczatek,i,j,tab[i][j]);}
- }
- };
- wyswietl(poczatek);
- struct nn naj_najm;
- naj_najm = najwiekszy_najmniejszy(poczatek);
- najwi=naj_najm.najwiekszy;
- printf("Element najwiekszy wynosi %lf, jest on w %d wierszu, %d kolumnie\n",najwi->wartosc,najwi->wiersz,najwi->kolomna);
- najmn=naj_najm.najmniejszy;
- printf("Element najmniejszy wynosi %lf, jest on w %d wierszu, %d kolumnie\n",najmn->wartosc,najmn->wiersz,najmn->kolomna);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement