| Prethodna tema :: Sljedeća tema   | 
	
	
	
		| Autor/ica | 
		Poruka | 
	
	
		ludamath Forumaš(ica)
  
  
  Pridružen/a: 06. 02. 2008. (16:00:14) Postovi: (3E)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		fireball Forumaš(ica)
  
  
  Pridružen/a: 07. 10. 2005. (18:49:17) Postovi: (4AB)16 
Spol:   
Lokacija: s rukom u vatri i nogom u grobu 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		hendrix Forumaš(ica)
  
 
  Pridružen/a: 03. 09. 2012. (15:59:06) Postovi: (92)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		ludamath Forumaš(ica)
  
  
  Pridružen/a: 06. 02. 2008. (16:00:14) Postovi: (3E)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		hendrix Forumaš(ica)
  
 
  Pridružen/a: 03. 09. 2012. (15:59:06) Postovi: (92)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 14:44 sri, 2. 4. 2014    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         "PDFovskli minus" nije "pravi minus".
 
 Inace, copy/paste je koristan samo da provjerite rade li programi iz skripte, no tako necete puno nauciti. Koliko god djelovalo glupo i bilo dosadno, prepisivanje kodova je daleko korisnije, jer onda primijetite sve one detalje koji obicnim citanjem promaknu. Naravno, jos je korisnije da sami rjesavate, a rjesenja pogledate kad/ako zapnete. 
					
					"PDFovskli minus" nije "pravi minus".
 
 
Inace, copy/paste je koristan samo da provjerite rade li programi iz skripte, no tako necete puno nauciti. Koliko god djelovalo glupo i bilo dosadno, prepisivanje kodova je daleko korisnije, jer onda primijetite sve one detalje koji obicnim citanjem promaknu. Naravno, jos je korisnije da sami rjesavate, a rjesenja pogledate kad/ako zapnete.
					_________________ 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] | 
		 | 
	
	
		ludamath Forumaš(ica)
  
  
  Pridružen/a: 06. 02. 2008. (16:00:14) Postovi: (3E)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		pllook Forumaš(ica)
  
 
  Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		pllook Forumaš(ica)
  
 
  Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16 
Spol:   
 
		 | 
		
			
				 Postano: 15:42 uto, 29. 4. 2014    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Zad.4.2.2. Napišite program koji učitava broj n iz N te dva niza a i b realnih brojeva duljine n. Program treba ispisati nizove ovako: a0,b0,a1,b1,a2,b2... Za ispis nizova definirajte funkciju koja će kao orgumente primati nizove i duljinu n. 
 
 [code:1]
 #include <stdio.h>
 #include <stdlib.h>
 
 double *alokacija(int n, char ime)
 {
     double *x;
     int i;
     x=(double*)malloc(n*sizeof(double));
     if(x=NULL)
     {
         printf("Nema dovoljno memorije.\n");
         exit(1);
     }
     for(i=0; i<n; i++)
         scanf("%lg", &x[i]);
     return x;
 }
 
 void ispis(double* a, double* b, int n)
 {
     int i;
     printf(" %g %g", a[0], b[0]);
     for(i=1; i<n; i++)
         printf("%g %g", a[i], b[i]);
     printf("\n");
 }
 int main()
 {
     double *a, *b;
     int n;
     scanf("%d", &n);
     if(n>0)
     {
         a=alokacija(n,'a');
         b=alokacija(n,'b');
         ispis(a,b,n);
         free(a);
         free(b);
     }
     return 0;
 }
 [/code:1] 
					
					Zad.4.2.2. Napišite program koji učitava broj n iz N te dva niza a i b realnih brojeva duljine n. Program treba ispisati nizove ovako: a0,b0,a1,b1,a2,b2... Za ispis nizova definirajte funkciju koja će kao orgumente primati nizove i duljinu n. 
 
 
 	  | Kod: | 	 		  
 
#include <stdio.h>
 
#include <stdlib.h>
 
 
double *alokacija(int n, char ime)
 
{
 
    double *x;
 
    int i;
 
    x=(double*)malloc(n*sizeof(double));
 
    if(x=NULL)
 
    {
 
        printf("Nema dovoljno memorije.\n");
 
        exit(1);
 
    }
 
    for(i=0; i<n; i++)
 
        scanf("%lg", &x[i]);
 
    return x;
 
}
 
 
void ispis(double* a, double* b, int n)
 
{
 
    int i;
 
    printf(" %g %g", a[0], b[0]);
 
    for(i=1; i<n; i++)
 
        printf("%g %g", a[i], b[i]);
 
    printf("\n");
 
}
 
int main()
 
{
 
    double *a, *b;
 
    int n;
 
    scanf("%d", &n);
 
    if(n>0)
 
    {
 
        a=alokacija(n,'a');
 
        b=alokacija(n,'b');
 
        ispis(a,b,n);
 
        free(a);
 
        free(b);
 
    }
 
    return 0;
 
}
 
 | 	  
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		Countess Forumaš(ica)
  
  
  Pridružen/a: 22. 07. 2013. (13:34:10) Postovi: (13)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		pllook Forumaš(ica)
  
 
  Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		mdoko Forumaš(ica)
  
  
  Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16 
Spol:   
Lokacija: Heriot-Watt University, Edinburgh 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 17:07 uto, 29. 4. 2014    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Postoji dobar trik da vas compiler upozori na te i slicne greske: gcc opcija [tt]-Wall[/tt] ("warnings: all", a ne "Zid" ;)). U Code::Blocks to se upali pod "Settings" > "Compiler and debugger..." > "Enable all compiler warnings (...) [-Wall]".
 
 Programi se i dalje compiliraju, ali onaj ispis pri dnu glavnog prozora ce ispisivati upozorenja vezana uz ceste greske, poput ove gore. Tako ce, za ovaj program, ispisati jedno upozorenje:
 
 [code:1]#include <stdio.h>
 
 int main(void) {
   int x;
   x = 2;
   if (x = 3);
   printf("%d\n", x);
   if ((x = 4));
   printf("%d\n", x);
   return 0;
 }[/code:1]
 
 Upozorenje ce reci "<puno ime fajla> 6 warning: suggest parentheses around assignment used as truth value", sto znaci da u liniji 6 predlazu da ju napisemo kako sam ja napisao liniju 8. Drugim rijecima, [tt]if (x = 3)[/tt] javlja upozorenje, a [tt]if ((x = 4))[/tt] ne, jer se smatra da su duple zagrade signal da smo tu pridruzivanje stavili svjesno.
 
 Takodjer, ako izostavim [tt]return[/tt], upozorit ce me da nisam definirao povratnu vrijednost non-void funkcije. 
					
					Postoji dobar trik da vas compiler upozori na te i slicne greske: gcc opcija -Wall ("warnings: all", a ne "Zid"  ). U Code::Blocks to se upali pod "Settings" > "Compiler and debugger..." > "Enable all compiler warnings (...) [-Wall]".
 
 
Programi se i dalje compiliraju, ali onaj ispis pri dnu glavnog prozora ce ispisivati upozorenja vezana uz ceste greske, poput ove gore. Tako ce, za ovaj program, ispisati jedno upozorenje:
 
 
 	  | Kod: | 	 		  #include <stdio.h>
 
 
int main(void) {
 
  int x;
 
  x = 2;
 
  if (x = 3);
 
  printf("%d\n", x);
 
  if ((x = 4));
 
  printf("%d\n", x);
 
  return 0;
 
} | 	  
 
 
Upozorenje ce reci "<puno ime fajla> 6 warning: suggest parentheses around assignment used as truth value", sto znaci da u liniji 6 predlazu da ju napisemo kako sam ja napisao liniju 8. Drugim rijecima, if (x = 3) javlja upozorenje, a if ((x = 4)) ne, jer se smatra da su duple zagrade signal da smo tu pridruzivanje stavili svjesno.
 
 
Takodjer, ako izostavim return, upozorit ce me da nisam definirao povratnu vrijednost non-void funkcije.
					_________________ 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] | 
		 | 
	
	
		 |