Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 21:43 uto, 29. 4. 2008 Naslov: Re: Novi dan, novi zadatak |
|
|
[quote="ekatarina"]Nadam se da ti nisam rekla totalnu glupost (ako jesam netko će me ispraviti, pa je valjda opet sve ok), ovo sam negdje čula, pa sam se zato usudila...[/quote]
Nije glupost, ali je komplikacija. :? Tko ti brani da odmah sumu trpas u [tt]double[/tt]? :-k Ovako:
[code:1]double as = 0;
for(i=0; i<n; i++) as += a[i];
as /= n;[/code:1]
Sva zbrajanja i dijeljenja ovdje su realna, jer je jedan parametar ([tt]as[/tt]) realan. 8)
Ako se ne varam, tocno tako je radjeno i u prvom semestru. :|
[quote="ekatarina"]Ali nije ništa čudno, evo već u slijedećoj grupi se stvarno radi s minorama.[/quote]
Je, ali pise i definicija minore. 8) Mi ne ocekujemo da vi na Prog2 znate zackuljice iz LA1&2; eventualno ubacimo opis sto neka formula predstavlja, ali taj podatak nije nuzan za rjesavanje zadatka. :)
ekatarina (napisa): | Nadam se da ti nisam rekla totalnu glupost (ako jesam netko će me ispraviti, pa je valjda opet sve ok), ovo sam negdje čula, pa sam se zato usudila... |
Nije glupost, ali je komplikacija. Tko ti brani da odmah sumu trpas u double? Ovako:
Kod: | double as = 0;
for(i=0; i<n; i++) as += a[i];
as /= n; |
Sva zbrajanja i dijeljenja ovdje su realna, jer je jedan parametar (as) realan.
Ako se ne varam, tocno tako je radjeno i u prvom semestru.
ekatarina (napisa): | Ali nije ništa čudno, evo već u slijedećoj grupi se stvarno radi s minorama. |
Je, ali pise i definicija minore. Mi ne ocekujemo da vi na Prog2 znate zackuljice iz LA1&2; eventualno ubacimo opis sto neka formula predstavlja, ali taj podatak nije nuzan za rjesavanje zadatka.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
bixodococo Forumaš(ica)


Pridružen/a: 22. 11. 2007. (20:26:24) Postovi: (7F)16
Spol: 
|
|
[Vrh] |
|
kpo Forumaš(ica)

Pridružen/a: 28. 01. 2008. (20:56:20) Postovi: (7)16
|
|
[Vrh] |
|
Novi Forumaš(ica)

Pridružen/a: 17. 07. 2007. (12:08:32) Postovi: (11F)16
Spol: 
|
|
[Vrh] |
|
Atomised Forumaš(ica)


Pridružen/a: 04. 09. 2007. (15:33:59) Postovi: (399)16
Lokacija: Exotica
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 13:08 pet, 23. 5. 2008 Naslov: |
|
|
Pascal je bio za DOS; C je za manje-vise svaki sustav (cak i za "sustave" :P). E, a ne postoji univerzalan nacin kako na bilo kojem sustavu obrisati ekran, tako da je kratak odgovor: ne moze se. :(
Na UNIXoidima mozete iskoristiti funkciju [url=http://www.opengroup.org/onlinepubs/007908799/xcurses/clear.html][tt]clear()[/tt][/url] iz libraryja [url=http://www.opengroup.org/onlinepubs/007908799/xcurses/curses.h.html][tt]curses.h[/tt][/url], no ne znam radi li to onda i pod Win. :neznam:
No, nece niti na UNIXoidima ici lako. :( Recimo, ovo:[code:1]#include <curses.h>
int main(void) {
erase();
return 0;
}[/code:1]nece raditi. :( Treba se poigrati s kreiranjem windowa:[code:1]#include <curses.h>
int main(void) {
int i;
WINDOW *win = initscr();
for (i = 0; i < 24; ++i) printw("aaaaaa\n");
getch();
clear();
refresh();
getch();
endwin();
return 0;
}[/code:1]
Anyway, nisam se s time igrao, pa ne znam detaljnije; dalje proucavajte sami. 8)
Pascal je bio za DOS; C je za manje-vise svaki sustav (cak i za "sustave" ). E, a ne postoji univerzalan nacin kako na bilo kojem sustavu obrisati ekran, tako da je kratak odgovor: ne moze se.
Na UNIXoidima mozete iskoristiti funkciju clear() iz libraryja curses.h, no ne znam radi li to onda i pod Win.
No, nece niti na UNIXoidima ici lako. Recimo, ovo: Kod: | #include <curses.h>
int main(void) {
erase();
return 0;
} | nece raditi. Treba se poigrati s kreiranjem windowa: Kod: | #include <curses.h>
int main(void) {
int i;
WINDOW *win = initscr();
for (i = 0; i < 24; ++i) printw("aaaaaa\n");
getch();
clear();
refresh();
getch();
endwin();
return 0;
} |
Anyway, nisam se s time igrao, pa ne znam detaljnije; dalje proucavajte sami.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
milasinovic Moderator


Pridružen/a: 25. 11. 2002. (17:03:32) Postovi: (18)16
Spol: 
Lokacija: FER-D374
|
|
[Vrh] |
|
Lafiel Forumaš(ica)


Pridružen/a: 26. 09. 2007. (09:56:59) Postovi: (153)16
Spol: 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
Vip Forumaš(ica)

Pridružen/a: 12. 10. 2007. (17:53:31) Postovi: (8E)16
Spol: 
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
Postano: 14:06 čet, 26. 6. 2008 Naslov: |
|
|
Koji dio ti nije jasan?
Dakle, tu se traži da nađeš sve skupove 3 točaka koje su kolinearne.
Kako naći sve moguće 3-člane podskupove? 3 for petlje.
Kako? Sa prvom ići do n-2 (ako je n duljina polja točaka,misli se <n-2), za svaku tu fixiranu točku, ići dalje, dakle druga petlja od te točke do n-1 (<n-1), time smo našli drugu točku, još nam treba treca, pa idemo sa trecim for-om do n ( <n). Sad imamo niz[i], niz[j] i niz [k] (ako su indexi i,j,k) u našem tročlanom skupu točaka. Ako zadovoljavaju kolinearnost, povećaš neki brojač. Kad se izleti iz svih petlji u brojaču nam piše baš broj podskupova točaka koje zadovoljavaju kolinearnost ;)
Koji dio ti nije jasan?
Dakle, tu se traži da nađeš sve skupove 3 točaka koje su kolinearne.
Kako naći sve moguće 3-člane podskupove? 3 for petlje.
Kako? Sa prvom ići do n-2 (ako je n duljina polja točaka,misli se <n-2), za svaku tu fixiranu točku, ići dalje, dakle druga petlja od te točke do n-1 (<n-1), time smo našli drugu točku, još nam treba treca, pa idemo sa trecim for-om do n ( <n). Sad imamo niz[i], niz[j] i niz [k] (ako su indexi i,j,k) u našem tročlanom skupu točaka. Ako zadovoljavaju kolinearnost, povećaš neki brojač. Kad se izleti iz svih petlji u brojaču nam piše baš broj podskupova točaka koje zadovoljavaju kolinearnost
_________________ "Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
Vip Forumaš(ica)

Pridružen/a: 12. 10. 2007. (17:53:31) Postovi: (8E)16
Spol: 
|
|
[Vrh] |
|
ekatarina Forumaš(ica)

Pridružen/a: 25. 11. 2007. (19:22:50) Postovi: (161)16
Spol: 
|
Postano: 20:07 sri, 2. 7. 2008 Naslov: |
|
|
[code:1]
int main(void)
{int i, j;
char string[20], s1[20], s2[20], polje[10][20], temp[20];
for(i=0; i<=9; i++)
scanf("%s", polje[i]);
for(i=0; i<=9; i++)
for(j=i; j<=9; j++)
if(Strcmp(polje[i], polje[j])>0){
temp=polje[i];
polje[i]=polje[j];
polje[j]=temp;
}[/code:1]
Javlja mi gresku incompatible types in assignment .
Za ovaj temp, da on nije istog tipa kao i polje[i]. Zar nisu oba stringa od 20 znakova?
Kod: |
int main(void)
{int i, j;
char string[20], s1[20], s2[20], polje[10][20], temp[20];
for(i=0; i<=9; i++)
scanf("%s", polje[i]);
for(i=0; i<=9; i++)
for(j=i; j<=9; j++)
if(Strcmp(polje[i], polje[j])>0){
temp=polje[i];
polje[i]=polje[j];
polje[j]=temp;
} |
Javlja mi gresku incompatible types in assignment .
Za ovaj temp, da on nije istog tipa kao i polje[i]. Zar nisu oba stringa od 20 znakova?
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
ivek imudaš Forumaš(ica)


Pridružen/a: 13. 11. 2007. (18:41:02) Postovi: (67)16
Spol: 
|
Postano: 21:27 sri, 2. 7. 2008 Naslov: |
|
|
mala pomoć mi treba:
Zadatak 8.4. Napišite funkciju koja kao jedini argument prima
file-pointer koji pokazuje na datoteku otvorenu za čitanje, te iz nje čita
kvadratnu matricu realnih brojeva i vraća produkt svih elemenata koji
nisu na niti jednoj od dijagonala.
pretpostavljam da mi ne treba matrica za spremanje...
[code:1]
double produkt(FILE *datoteka){
int n, i, j;
double x, prod=1;
fscanf(datoteka, "%d", &n);
for(i=0;i<n;i++)
for(j=0;j<n;j++){
fscanf(datoteka, "%lf", &x);
if(i!=j && i+j!=(n-1)) prod*=x;}
return prod;}[/code:1]
ili ako treba ...
[code:1]
double produkt(FILE *datoteka){
int n, i, j;
double **matrica;
double prod=1;
fscanf(datoteka, "%d", &n);
matrica=(double**)malloc(m*sizeof(double*));
for(i=0;i<n;i++) matrica[i]=(double*)malloc(sizeof(double));
for(i=0;i<n;i++)
for(j=0;j<n;j++) fscanf(datoteka, "%lf", &matrica[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++) if(i!=j && i+j!=(n-1)) prod*=matrica[i][j];
return prod;}[/code:1]
uglavnom jesu li oba koda točna?
i potpitanje: funkcija fscanf vraća broj učitanih objekata a to su oni koje zatražimo formatom ili se varam
u stvari kako točno ona čita zatraženo?
mala pomoć mi treba:
Zadatak 8.4. Napišite funkciju koja kao jedini argument prima
file-pointer koji pokazuje na datoteku otvorenu za čitanje, te iz nje čita
kvadratnu matricu realnih brojeva i vraća produkt svih elemenata koji
nisu na niti jednoj od dijagonala.
pretpostavljam da mi ne treba matrica za spremanje...
Kod: |
double produkt(FILE *datoteka){
int n, i, j;
double x, prod=1;
fscanf(datoteka, "%d", &n);
for(i=0;i<n;i++)
for(j=0;j<n;j++){
fscanf(datoteka, "%lf", &x);
if(i!=j && i+j!=(n-1)) prod*=x;}
return prod;} |
ili ako treba ...
Kod: |
double produkt(FILE *datoteka){
int n, i, j;
double **matrica;
double prod=1;
fscanf(datoteka, "%d", &n);
matrica=(double**)malloc(m*sizeof(double*));
for(i=0;i<n;i++) matrica[i]=(double*)malloc(sizeof(double));
for(i=0;i<n;i++)
for(j=0;j<n;j++) fscanf(datoteka, "%lf", &matrica[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++) if(i!=j && i+j!=(n-1)) prod*=matrica[i][j];
return prod;} |
uglavnom jesu li oba koda točna?
i potpitanje: funkcija fscanf vraća broj učitanih objekata a to su oni koje zatražimo formatom ili se varam
u stvari kako točno ona čita zatraženo?
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 21:34 sri, 2. 7. 2008 Naslov: |
|
|
Da sad ne trazim po skripti... ako je matrica zadana tako da u datoteci pise broj redaka, onda je ovo prvo dobro. 8) Drugo nisam pregledavao: izbjegavajte dodatne nizove/matrice kad nisu nuzni, jer samo opterecuju memoriju i rapidno povecavaju sansu da fulate. :?
Kako obicni [tt]scanf()[/tt] radi? :-k Pogleda sto se trazi i proba to procitati; ako uspije, utrpa u pripadajucu varijablu. 8) Kao povratnu vrijednost vraca upravo broj varijabli koje je tako popunio. :D I sada, ono uobicajeno: to isto vrijedi i za [tt]fscanf()[/tt]. ;)
Da sad ne trazim po skripti... ako je matrica zadana tako da u datoteci pise broj redaka, onda je ovo prvo dobro. Drugo nisam pregledavao: izbjegavajte dodatne nizove/matrice kad nisu nuzni, jer samo opterecuju memoriju i rapidno povecavaju sansu da fulate.
Kako obicni scanf() radi? Pogleda sto se trazi i proba to procitati; ako uspije, utrpa u pripadajucu varijablu. Kao povratnu vrijednost vraca upravo broj varijabli koje je tako popunio. I sada, ono uobicajeno: to isto vrijedi i za fscanf().
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
ivek imudaš Forumaš(ica)


Pridružen/a: 13. 11. 2007. (18:41:02) Postovi: (67)16
Spol: 
|
|
[Vrh] |
|
|