| Prethodna tema :: Sljedeća tema   | 
	
	
	
		| Autor/ica | 
		Poruka | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		
			
				 Postano: 10:13 čet, 14. 1. 2010    Naslov: prošlogodišnji kolokvij | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0809-p.pdf
 
 zadatak 7.a)
 [code:1]#include <stdio.h>
 #include <stdlib.h>
 
 int suma(int a,int b) {
         int sum=0;
         while(a) {
                  sum+=a%b;
                  a/=b;
                  }
         return sum;
         }
                  
 
 double horner(int a, double x) {
        double vrijednost=0;
        int i;
        for(i=suma(a,17);i>=0;i--) vrijednost=vrijednost*x + suma(a, 2*i+2);
        return vrijednost;
        }
 
 int main() {
     double x;
     int a;
     scanf("%d", &a);
     scanf("%lg", &x);
     printf("%g", horner(a, x));
     system("pause");
     return 0;
 }
 [/code:1]
 jesam li dobro shvatila zadatak?
 i treba li "i" ići do 7?budući da ide do S17,a za i=7 dobimo S16.. 
					
					http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0809-p.pdf
 
 
zadatak 7.a)
 
 	  | Kod: | 	 		  #include <stdio.h>
 
#include <stdlib.h>
 
 
int suma(int a,int b) {
 
        int sum=0;
 
        while(a) {
 
                 sum+=a%b;
 
                 a/=b;
 
                 }
 
        return sum;
 
        }
 
                 
 
 
double horner(int a, double x) {
 
       double vrijednost=0;
 
       int i;
 
       for(i=suma(a,17);i>=0;i--) vrijednost=vrijednost*x + suma(a, 2*i+2);
 
       return vrijednost;
 
       }
 
 
int main() {
 
    double x;
 
    int a;
 
    scanf("%d", &a);
 
    scanf("%lg", &x);
 
    printf("%g", horner(a, x));
 
    system("pause");
 
    return 0;
 
}
 
 | 	  
 
jesam li dobro shvatila zadatak?
 
i treba li "i" ići do 7?budući da ide do S17,a za i=7 dobimo S16..
					
 
  
					
					
					
  Zadnja promjena: .anchy.; 17:54 čet, 14. 1. 2010; ukupno mijenjano 1 put.
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 11:19 čet, 14. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Ne razumijem kako si dobila bas 7. :grebgreb: Pise [latex]S_{17}(a)[/latex] i [tt]a[/tt] ti je zadan kao parametar, pa granica ovisi o njemu.
 
 Usput, nigdje ne pise da je [tt]a[/tt] pozitivan, pa treba pripaziti kad se racuna suma znamenaka. 
					
					Ne razumijem kako si dobila bas 7.   Pise   i a ti je zadan kao parametar, pa granica ovisi o njemu.
 
 
Usput, nigdje ne pise da je a pozitivan, pa treba pripaziti kad se racuna suma znamenaka.
					_________________ 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] | 
		 | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 12:26 čet, 14. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Je l' pričamo o ovome:
 [latex]\displaystyle p(x) = \sum_{i=0}^{S_{17}(a)} S_{2i+2}(a) x^i[/latex] :?:
 
 Ako da, onda [tt]i[/tt] u sumi ide od 0 do [latex]S_{17}(a)[/latex], pa ocito ovisi o [tt]a[/tt].
 
 Ne vidim zasto bi moralo biti [tt]2 * i + i[/tt] < 17. Npr. za [tt]i[/tt] = 8 imamo
 [latex]S_{17}(2 \cdot i + 2) = S_{17}(18) = 2[/latex],
 jer je
 [latex](18)_{10} = (11)_{17}[/latex],
 pa mu je trazena suma znamenaka jednaka 1+1=2. 
					
					Je l' pričamo o ovome:
 
   
 
 
Ako da, onda i u sumi ide od 0 do  , pa ocito ovisi o a.
 
 
Ne vidim zasto bi moralo biti 2 * i + i < 17. Npr. za i = 8 imamo
 
 ,
 
jer je
 
 ,
 
pa mu je trazena suma znamenaka jednaka 1+1=2.
					_________________ 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] | 
		 | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 18:18 čet, 14. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Cini mi se da je.
 
 Ubuduce, bolje zalijepiti novo rjesenje nego editirati staro, jer je sad prethodna rasprava postala besmislena i, jos gore, zbunjujuca za nekoga tko bi to isao citati. 
					
					Cini mi se da je.
 
 
Ubuduce, bolje zalijepiti novo rjesenje nego editirati staro, jer je sad prethodna rasprava postala besmislena i, jos gore, zbunjujuca za nekoga tko bi to isao citati.
					_________________ 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] | 
		 | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		
			
				 Postano: 12:39 pet, 15. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0809-2.pdf
 
 
 može li se ovako riješiti:
 [code:1]#include <stdio.h>
 #include <stdlib.h>
 
 int foo1(int a, int b, int c, int x, int *n) {
            int y,p,sum;
            y==a*x*x-b*x+c;
            if(y<0) y=-y;
     while(y) {
              p=y%10;
              y/=10;
              if(!(p%2)){
                         *n++;
                         sum+=p;
                         }
                         }
     return sum;
 }[/code:1]
 
 još sam zaboravila ako je n null pointer..
 jer u rješenjima na netu se sve radi preko a,x,nema drugih varijabli 
					
					http://degiorgi.math.hr/prog1/kolokviji/p1-kolokvij-0809-2.pdf
 
 
 
može li se ovako riješiti:
 
 	  | Kod: | 	 		  #include <stdio.h>
 
#include <stdlib.h>
 
 
int foo1(int a, int b, int c, int x, int *n) {
 
           int y,p,sum;
 
           y==a*x*x-b*x+c;
 
           if(y<0) y=-y;
 
    while(y) {
 
             p=y%10;
 
             y/=10;
 
             if(!(p%2)){
 
                        *n++;
 
                        sum+=p;
 
                        }
 
                        }
 
    return sum;
 
} | 	  
 
 
još sam zaboravila ako je n null pointer..
 
jer u rješenjima na netu se sve radi preko a,x,nema drugih varijabli
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		Cobs Forumaš(ica)
  
  
  Pridružen/a: 21. 01. 2008. (13:32:15) Postovi: (206)16 
Spol:   
Lokacija: Geto 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		msmit Forumaš(ica)
  
 
  Pridružen/a: 07. 11. 2008. (15:13:55) Postovi: (76)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		msmit Forumaš(ica)
  
 
  Pridružen/a: 07. 11. 2008. (15:13:55) Postovi: (76)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 20:12 sub, 16. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Yup.
 
 Sto sort zapravo radi? Za svaka dva elementa koje usporedjuje, provjeri jesu li u krivom poretku i - ako jesu - zamijeni ih. Dakle, ako zelis uzlazno (tj. da elementi budu a0<a1<...), onda u usporedbu ide ">"; ako zelis silazno (tj. da elementi budu a0>a1>...), onda u usporedbu ide "<". Pri tome treba paziti da lijevo bude element s manjim indexom (inace se znak "okrece"). 
					
					Yup.
 
 
Sto sort zapravo radi? Za svaka dva elementa koje usporedjuje, provjeri jesu li u krivom poretku i - ako jesu - zamijeni ih. Dakle, ako zelis uzlazno (tj. da elementi budu a0<a1<...), onda u usporedbu ide ">"; ako zelis silazno (tj. da elementi budu a0>a1>...), onda u usporedbu ide "<". Pri tome treba paziti da lijevo bude element s manjim indexom (inace se znak "okrece").
					_________________ 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] | 
		 | 
	
	
		meda Forumaš(ica)
  
 
  Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16 
 
		 | 
		
			
				 Postano: 20:27 pon, 18. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         jel može neko reć di je greška?
 to je prvi zadatak iz prošlogodišnjeg kolokvija, prva grupa
 [code:1]
 #include <stdio.h>
 #include <stdlib.h>
 
 int foo(int a, int b, int c, int x, int *n){
     int y, suma=0;
     (*n)=0;    
     y=a*x*x-b*x+c;
     if(y<0) y=-y;
     do{               
                if(y%2==0) {suma=suma+(y%10); (*n)++;}
                y=y/10;
     }while(y>0);
     return suma;
     return *n;
 }
 
 int main(void){
     int a, b, c, d, n=0;
     scanf("%d", &a);
     scanf("%d", &b);
     scanf("%d", &c);
     scanf("%d", &d);
     printf("%d, %d", foo(a,b,c,d,&n));
     system("pause");
     return 0;
 } 
 [/code:1] 
					
					jel može neko reć di je greška?
 
to je prvi zadatak iz prošlogodišnjeg kolokvija, prva grupa
 
 	  | Kod: | 	 		  
 
#include <stdio.h>
 
#include <stdlib.h>
 
 
int foo(int a, int b, int c, int x, int *n){
 
    int y, suma=0;
 
    (*n)=0;    
 
    y=a*x*x-b*x+c;
 
    if(y<0) y=-y;
 
    do{               
 
               if(y%2==0) {suma=suma+(y%10); (*n)++;}
 
               y=y/10;
 
    }while(y>0);
 
    return suma;
 
    return *n;
 
}
 
 
int main(void){
 
    int a, b, c, d, n=0;
 
    scanf("%d", &a);
 
    scanf("%d", &b);
 
    scanf("%d", &c);
 
    scanf("%d", &d);
 
    printf("%d, %d", foo(a,b,c,d,&n));
 
    system("pause");
 
    return 0;
 
} 
 
 | 	  
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		.anchy. Forumaš(ica)
  
 
  Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16 
Lokacija: Zgb 
		 | 
		
			
				 Postano: 20:39 pon, 18. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         nemože vratiti i *n i sumu,zato i je da *n varijabilni jer kada pozivaš funkciju,npr za &x pozoveš taj *n,tada će x postati n bez da ga vratiš putem samog returna..
 nadam se da kužiš što sam htjela reći!! :)
 
 mislim da općenito funkcija vraća samo jednu vrijednost,pa su zato tu varijabilni argumenti.
 da se krivo ne shvati,u f-iji može pisati:
 if(neki je uvjet zadovoljen) return x;
 else return y;
 
 ali opet,vraća se samo 1 vrijednost.
 
 makni taj return s n-om, i printf-u na kraj još stavi n za onaj drugi %d.mislim da bi onda trebalo raditi 
					
					nemože vratiti i *n i sumu,zato i je da *n varijabilni jer kada pozivaš funkciju,npr za &x pozoveš taj *n,tada će x postati n bez da ga vratiš putem samog returna..
 
nadam se da kužiš što sam htjela reći!!  
 
 
mislim da općenito funkcija vraća samo jednu vrijednost,pa su zato tu varijabilni argumenti.
 
da se krivo ne shvati,u f-iji može pisati:
 
if(neki je uvjet zadovoljen) return x;
 
else return y;
 
 
ali opet,vraća se samo 1 vrijednost.
 
 
makni taj return s n-om, i printf-u na kraj još stavi n za onaj drugi %d.mislim da bi onda trebalo raditi
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		meda Forumaš(ica)
  
 
  Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Bole13 Forumaš(ica)
  
 
  Pridružen/a: 01. 11. 2008. (00:33:50) Postovi: (5A)16 
Spol:   
 
		 | 
		
			
				 Postano: 21:27 pon, 18. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Moze pomoc pls, ne vidim di je greska, prode kompajliranje ali uvijek vrati -1 0... Radi se o drugom zadatku iz proslogodisnjeg kolokvija grupa A. I btw ja sam uzeo da ispise 0 za b ako se ne nade element polja koji zadovoljava uvjet, nisam shvatio dal se treba nes uopce ispisat ako nema elementa al to nije ni bitno sad.
 
 [code:1]#include <stdio.h>
 #include <stdlib.h>
 
 int trazi (int a[], int n, int x, int *b) {
     int i=0, suma=0, j=2;
     while(i<n) {
               *b=a[i];
               while(j<=a[i]) {
                              if(a[i]%j==0) {
                                            suma+=j;
                                            while(a[i]%j==0) a[i]/=j;
                                            }
                              j++;
                              }
               if(suma==x) return i;
               suma=0; j=2;
               i++;
               }
     *b=0;
     return -1; 
 }
 
 int main () {
 int a[1024], n, i, x, b=0;
 scanf("%d, %d\n", &n, &x);
 for(i=0; i<n; i++) scanf("%d ", &a[i]);
 printf("%d %d", trazi(a, n, x, &b), b);
 system ("pause");
 return 0;
 }[/code:1] 
					
					Moze pomoc pls, ne vidim di je greska, prode kompajliranje ali uvijek vrati -1 0... Radi se o drugom zadatku iz proslogodisnjeg kolokvija grupa A. I btw ja sam uzeo da ispise 0 za b ako se ne nade element polja koji zadovoljava uvjet, nisam shvatio dal se treba nes uopce ispisat ako nema elementa al to nije ni bitno sad.
 
 
 	  | Kod: | 	 		  #include <stdio.h>
 
#include <stdlib.h>
 
 
int trazi (int a[], int n, int x, int *b) {
 
    int i=0, suma=0, j=2;
 
    while(i<n) {
 
              *b=a[i];
 
              while(j<=a[i]) {
 
                             if(a[i]%j==0) {
 
                                           suma+=j;
 
                                           while(a[i]%j==0) a[i]/=j;
 
                                           }
 
                             j++;
 
                             }
 
              if(suma==x) return i;
 
              suma=0; j=2;
 
              i++;
 
              }
 
    *b=0;
 
    return -1; 
 
}
 
 
int main () {
 
int a[1024], n, i, x, b=0;
 
scanf("%d, %d\n", &n, &x);
 
for(i=0; i<n; i++) scanf("%d ", &a[i]);
 
printf("%d %d", trazi(a, n, x, &b), b);
 
system ("pause");
 
return 0;
 
} | 	  
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		eve Forumaš(ica)
  
 
  Pridružen/a: 13. 07. 2009. (23:07:06) Postovi: (192)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		pbakic Forumaš(ica)
  
 
  Pridružen/a: 05. 10. 2009. (17:48:30) Postovi: (143)16 
Spol:   
 
		 | 
		
			
				 Postano: 21:50 pon, 18. 1. 2010    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         pa dobar je prog, samo je meni stekao x (ulazio bi neki totalno cudan) i to vjerojatno zbog scanfa:
 znaci prvi scanf u mainu, ne treba zarez (jer to oznacava nes drugo) i ne treba \n (jer nakon scanfa ionako ides u novi red; najbolje je samo scanf("%d%d",...); )
 takodjer, onaj scanf s kojim ucitavas niz, ne treba razmak poslije %d
 kad se ta dva scanfa srede mislim da radi 
					
					pa dobar je prog, samo je meni stekao x (ulazio bi neki totalno cudan) i to vjerojatno zbog scanfa:
 
znaci prvi scanf u mainu, ne treba zarez (jer to oznacava nes drugo) i ne treba \n (jer nakon scanfa ionako ides u novi red; najbolje je samo scanf("%d%d",...); )
 
takodjer, onaj scanf s kojim ucitavas niz, ne treba razmak poslije %d
 
kad se ta dva scanfa srede mislim da radi
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		 |