Potrebna pomoc oko ispravke jednod koda u C-u

Potrebna pomoc oko ispravke jednod koda u C-u

offline
  • Pridružio: 20 Jan 2009
  • Poruke: 3

Bila bih veoma zahvalna svakom ko bi mi dao ideju kako da resim sledeci problem,tj. da prepravim sledeci kod.
E sad da objasnim sta je u pitanju...
U pitanju je program koji radi operacije sa matricama,koje su predstavljene ovako

a11 -> a12 -> a13 -> ... -> a1n
|
a21 -> a22 -> a23 -> ... -> a2n
|
.
.
|
am1-> am2->am3-> ... -> amn

znaci matrice se tako ucitavaju uz pomoc f-je:

#include<alloc> #include<stdio> #include<conio> #include<dos> #include<stdlib> #include<string> #include<bios> #define BR_OPERACIJA 6 #define MAX_OPIS   100 static char Opis[BR_OPERACIJA][MAX_OPIS]={     "Sabiranje matrica",     "Oduzimanje matrica",     "Mnozenje matrica",     "Mnozenje matrice brojem",     "Trag matrice",     "Transponovana matrica",};     typedef struct cvor { float vrednost; struct cvor *levo; struct cvor *desno;   } Cvor; Cvor *upis(Cvor *koren) {    int n,m,i,j;    float k;    Cvor *novi,*p,*q,*r;    printf("  Broj vrsta matrice   ");    scanf("%d",&n);    printf("  Broj kolona matrice  ");    scanf("%d",&m);    printf("\n");    koren=NULL;    printf("  Elementi matrice\n\n");                for(i=1;i<=n;i++)  {                        for(j=1;j<m>vrednost=k;                                                             novi->desno=NULL;                                                             novi->levo=NULL;                                                       if(i==1&&j==1){  koren=novi;                   p=q=r=koren;                          }                                                             if(i==1&&j==1)continue;                                                                                          if((j!=1)&&(i==1)){                      p->desno=novi;                      p=p->desno;                                                                 }                                                                                 if((j==1)&&(i>1)){                         r->levo=novi;                         q=r->desno;                         r=r->levo;                         p=r;                                            }                                                                                                                                                                                                                                                                                                                                                                                                                                                                        if((j!=1)&&(i>1))  {                   q->levo=novi;                   q=q->desno;                   p->desno=novi;                   p=p->desno;                                                           }                                                                                                                                                                                                    }               }                  return koren; }[/url]

Ali,problem je u tome sto mi je potrebno da matricu ucitam tako da izgleda (kao mreza pointera) tj. da svaki element matrice pokazuje na naredni u vrsti u kojoj se nalazi,i na naredni u koloni kojoj se nalazi.(tj. svaki el. ima pokazivac na desno i na dole )

Bila bih veoma zahvalna na svakoj ideji



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 25 Jul 2008
  • Poruke: 142

nisam ni tebe ni kod bas razumeo Neutral

Ali ako je samo ovo:
Citat:da svaki element matrice pokazuje na naredni u vrsti u kojoj se nalazi,i na naredni u koloni kojoj se nalazi.(tj. svaki el. ima pokazivac na desno i na dole )

Evo ti koda, pa ti od ovog pravi funkcije ili sta vec hoces:
#include<stdio.h> #include<stdlib.h> typedef struct element {    float vrednost;    struct element *desno;    struct element *dole; }Element; void main() {    int n,m,i,j;    Element **matrica;    printf("  Broj vrsta matrice   ");    scanf("%d",&n);    printf("  Broj kolona matrice  ");    scanf("%d",&m);    printf("\n");    matrica=malloc(n*sizeof(Element));    for (i=0;i<m; i++)        matrica[i]=malloc(m*sizeof(Element));    printf("\nUnesite elemente matrice:\n");    for(i=0;i<n;i++)       for(j=0;j<m;j++)          scanf("%f",&matrica[i][j].vrednost);    //dodavanje da svaki element pokazuje na donji i na sledeci    //proveri jos malo da li je dobro jer nisam nesto posebno testirao ali to je to odprilike.    for(i=0;i<n;i++)       for(j=0;j<m;j++)       {           if(i!=m-1)             matrica[i][j].desno=&matrica[i][j+1];           if(j!=j-1)             matrica[i][j].dole=&matrica[i+1][j];       }    for(i=0;i<n;i++)    {       for(j=0;j<m;j++)          printf("%f ",matrica[i][j].vrednost);       printf("\n");    }        //Prikazivanje poslednjih elemenata koji imaju desni tj donji element    printf("\n\n%f\n%f",matrica[n-1][m-2].desno->vrednost,matrica[n-2][m-1].dole->vrednost); //jos malo ispravi da oni koji nemaju donji i desni element sigurno pokazuju na null. //Formatiraj izlaz gde je float //dodaj proveru dinamicke dodele memorije i sl. }

Pozdrav Wink



offline
  • Pridružio: 20 Jan 2009
  • Poruke: 3

hvala ti puno,provericu kako radi....pa ti javljam reezultate...
hvala najlepse

Ko je trenutno na forumu
 

Ukupno su 992 korisnika na forumu :: 63 registrovanih, 7 sakrivenih i 922 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Andrija357, Apok, babaroga, Belac91, bojank, bufanje, cenejac111, dane007, darios, Denaya, djboj, Dogma21, drimer, dulleo, flash12, GenZee, Goran 0000, Hans Gajger, HrcAk47, Insan, Istman, Još malo pa deda, Karla, kybonacci, Leonov, Ljubisa Pavlovic, loon123, mercedesamg, Mi lao shu, Milan A. Nikolic, milenko crazy north, Milometer, milos97, milutin134, mocnijogurt, nemkea71, nick79, opt1, ostoja, Panter, Polemarchoi, Posmatrac77OKB, procesor, rodoljub, rovac, royst33, ruma, Sančo, sasakrajina, Shinobi, skvara, Srle993, StepskiVuk, theNedjeljko, tmanda323, Tores, Trpe Grozni, tubular, vathra, Vatreni Zmaj, YU-UKI, zeo, Čivi