nadji gresku

nadjite gresku i napisite nesto slicno sa greskom
cista provera znanja


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>


int main(void)
{
int vel, **tabela,i,t,brD=0;
printf("\nUnesi velicinu kvadratne matrice: ");
scanf("%d",&vel);
tabela = (int **) malloc(vel * sizeof(int*));

for(i=0;i<vel;i++)
{
tabela = (int *) malloc(vel * sizeof(int));
for(t=0;t<vel;t++)
{
printf("\nUnesi clan %d %d: ",i,t);
scanf("%d",&tabela[t]);
}

}
printf("\nRezultat: \n");
 
for(i=vel-1;i>=0;i--)
{
printf("\nDijagonala%d: ",++brD);
for(t=0;t<vel;t++)
{
if(i+t >= vel)continue;
printf(" %d",tabela[t][i+t]);
}
}

for(i=1;i<vel;i++)
{
printf("\nDijagonala%d: ",++brD);
for(t=0;t<vel;t++)
{
if(i+t >= vel)continue;
printf(" %d",tabela[i+t][t]);
}
}

getch();

return 0;
}
 
@CAREVI
Nadam se da nije copy-paste? Ako nije onda ne razumem zasto si batalio svoj tvrdo ukorenjen stav da indexiranje pocinje od 1 a ne od nula :)
Da ja ne kompajliram ovo bezveze( posto sam uveren u tvoje hakerske sposobnosti, pa iz sigurnosti... :) ), o cemu se radi kakve dijagonale ?
 
Marko93:
On je haker?Ili...Neki folirant?

Nije Ok da ti, koji si tek počeo s C-om, postavljaš ovdje takve komentare. :confused:
Čini mi se da si sada u jako opasnoj fazi kada misliš da sve znaš. To se obično završi onim "****š knjigu, u njoj je sve lako, da preskočimo mi to" i kraj je, u 95% (ovo je optimistična pretpostavka), povratak igricama i kraj programerskih snova.

Sledeća faza je kada shvatiš koliko malo znaš (al' ozbiljno) i koliko drugi mnogo znaju, pa ponovo nalegneš na učenje. :shock:
 
Marko93:
Znam da ja jos uvek znam (skoro nista)poceo sam tek juce da ucim C++ nego Juzni vetar kaze da je folirant pa sam procitao ono hackers pa sam video kako ste svi pricali da ide copy paste :-D

Nemoj se odmah povoditi za tuđim mišljenjem nego sam probaj skontati o čemu se radi :idea:
Kada mogneš čitati tuđi kod i bar približno odrediti šta taj kod radi, onda pogledaj tuđe komentare, uporedi s svojim zaključcima itd..
To je dobar put da ideš dalje i dalje i dalje, dok jednog dalekog dana u budućnosti ne počneš sam raditi stvari sa desetinama i stotinama hiljada linija koda (a mnogo linija treba za bilo šta ozbiljno, vjeruj mi) :-P
 
toxi:
@CAREVI
Nadam se da nije copy-paste? Ako nije onda ne razumem zasto si batalio svoj tvrdo ukorenjen stav da indexiranje pocinje od 1 a ne od nula :)
Da ja ne kompajliram ovo bezveze( posto sam uveren u tvoje hakerske sposobnosti, pa iz sigurnosti... :) ), o cemu se radi kakve dijagonale ?
Prosto zadatak je napisan sa greskom!
a evo i resenja!
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>


int main(void)
{
int vel, **tabela,i,t,brD=0;
printf("\nUnesi velicinu kvadratne matrice: ");
scanf("%d",&vel);
tabela = (int **) malloc(vel * sizeof(int*));

for(i=0;i<vel;i++)
{
tabela = (int *) malloc(vel * sizeof(int));
for(t=0;t<vel;t++)
{
printf("\nUnesi clan %d %d: ",i,t);
scanf("%d",&tabela[t]);
}

}
printf("\nRezultat: \n");

for(i=vel-1;i>=0;i--) /*vrti petlju gdje je i pocetna kolona dijagonale */
{
printf("\nDijagonala%d: ",++brD); /*ispisi redni broj dijagonale */
for(t=0;t<vel;t++)
{
if(i+t >= vel)continue; /*ako je i+t vece od vel tada nastavi sa sledecim */
printf(" %d",tabela[t][i+t]);
}
}

for(i=1;i<vel;i++) /*vrti petlju gdje je i pocetni red dijagonale */
{
printf("\nDijagonala%d: ",++brD);
for(t=0;t<vel;t++)
{
if(i+t >= vel)continue;
printf(" %d",tabela[i+t][t]);
}
}

getch();

return 0;
}
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

/*stvaranje strukture:*/
typedef struct
{
char *ime;
char *prezime;
int *ocjene;
float prosjek;
}UCENIK;

/*globalne varijable*/
int brUc,brOc;

/*deklaracija funkcija*/
char *unesi_str(void);
void izracunaj_prosjek(UCENIK *uc);

int main(void)
{
int i,t,priv,*redoslijed;
UCENIK *ucenik;

printf("\nUnesi broj ucenika: ");
scanf("%d",&brUc);
printf("\nUnesi broj ocjena po uceniku: ");
scanf("%d",&brOc);

ucenik = (UCENIK *) malloc(brUc * sizeof(UCENIK)); /*alokacija*/
if(!ucenik) { printf("\nOut of memory!"); return; } /*provjera*/
redoslijed = (int *) malloc(brUc * sizeof(int));
if(!redoslijed) { printf("\nOut of memory!"); return; }


for(i = 0;i<brUc;i++)
{
redoslijed = i; /*pretpostavi poredak*/
ucenik.ocjene = (int *) malloc(brOc * sizeof(int));
if(!ucenik.ocjene){ printf("\nOut of memory!"); return; }

printf("\nUnesi ime za ucenika %d: ",i+1);
ucenik.ime = unesi_str();
printf("\nUnesi prezime za ucenika %d: ",i+1);
printf("\nUnesi prezime za ucenika %d: ",i+1);
ucenik.prezime = unesi_str();

for(t=0;t<brOc;t++)
{
do{
printf("\nUnesi ocjenu %d za ucenika %d: ",t+1,i+1);
scanf("%d",&priv);
}while(priv < 1 || priv > 5);/*dali je unesena ocjena iz skupa brojeva 1-5*/
ucenik.ocjene[t] = priv;
}

izracunaj_prosjek(&ucenik);

}


/*sortiranje metodom razmjene*/
for(i=0;i<brUc;i++)
{
for(t=0;t<brUc;t++)
{
if(ucenik[redoslijed].prosjek > ucenik[redoslijed[t]].prosjek)
{

priv = redoslijed;
redoslijed = redoslijed[t];
redoslijed[t] = priv;
}
}
}

/*ispis*/
for(i=0;i<brUc;i++)
{
printf("\nUcenik rednog broj: %d:",redoslijed+1);
printf("\nIme :%s",ucenik[redoslijed].ime);
printf("\nPrezime :%s",ucenik[redoslijed].prezime);
printf("\nProsjek :%f\n",ucenik[redoslijed].prosjek);


}

return 0;

}

/*funkcija za unos stringa*/
char *unesi_str(void)
{
char priv_str[150],*s;
int len;

scanf("%s",priv_str);
len = strlen(priv_str);
s = (char *)malloc(len + 1);
if(!s){ printf("\nOut of memory!"); exit(1); }
strcpy(s,priv_str);
return s;
}

void izracunaj_prosjek(UCENIK *uc)
{
int i,zbir=0;

for(i = 0; i<brOc;i++)
{
zbir += uc->ocjene;
}
uc->prosjek = (float)zbir / (float)brOc;
}
 

Back
Top