| Prethodna tema :: Sljedeća tema   | 
	
	
	
		| Autor/ica | 
		Poruka | 
	
	
		lucika Forumaš(ica)
  
  
  Pridružen/a: 22. 11. 2007. (17:52:27) Postovi: (12F)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 3:20 ned, 21. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Pa, moze, ali to je puno previse nepotrebno alocirane memorije. :)
 
 Recimo, tvoj program bi za kvadratnu matricu realnih brojeva reda 1.000.000 potrosio oko 8TB memorije; rjesenje s obicnim nizom trosi cca 8MB. 8) Plus, ima manje koda sto znaci i manje mjesta za profulati. ;)
 
 No, mislim da sam na vjezbama radio upravo s alokacijom matrice, jer mi se cini da studenti to lakse prihvacaju. :blista: 
					
					Pa, moze, ali to je puno previse nepotrebno alocirane memorije.  
 
 
Recimo, tvoj program bi za kvadratnu matricu realnih brojeva reda 1.000.000 potrosio oko 8TB memorije; rjesenje s obicnim nizom trosi cca 8MB.   Plus, ima manje koda sto znaci i manje mjesta za profulati.  
 
 
No, mislim da sam na vjezbama radio upravo s alokacijom matrice, jer mi se cini da studenti to lakse prihvacaju.  
					_________________ 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] | 
		 | 
	
	
		moi Forumaš(ica)
  
 
  Pridružen/a: 21. 02. 2007. (13:39:09) Postovi: (26)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Luuka Forumaš(ica)
  
  
  Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16 
Spol:   
Lokacija: Hakuna Matata 
		 | 
		
			
				 Postano: 23:26 ned, 21. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [quote="moi"]
 Ana Pero 100  
 Pero Ante 150
 [/quote]
 
 fscanf (dat, "%s %s %d", ime1,ime2,&broj);
 
 gdje je dat pointer na ulaznu datoteku, ime1 i ime2 dovoljno veliki char[], a broj integer.
 
 ako ima više linija koje imaju ista učitavanja onda:
 
 [code:1]
 while ( fscanf (dat, "%s %s %d", ime1,ime2,&broj)==3  )
 {
 ....
 }
 [/code:1] 
					
					 	  | moi (napisa): | 	 		  
 
Ana Pero 100  
 
Pero Ante 150
 
 | 	  
 
 
fscanf (dat, "%s %s %d", ime1,ime2,&broj);
 
 
gdje je dat pointer na ulaznu datoteku, ime1 i ime2 dovoljno veliki char[], a broj integer.
 
 
ako ima više linija koje imaju ista učitavanja onda:
 
 
 	  | Kod: | 	 		  
 
while ( fscanf (dat, "%s %s %d", ime1,ime2,&broj)==3  )
 
{
 
....
 
}
 
 | 	  
					_________________ "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] | 
		 | 
	
	
		moi Forumaš(ica)
  
 
  Pridružen/a: 21. 02. 2007. (13:39:09) Postovi: (26)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		lucika Forumaš(ica)
  
  
  Pridružen/a: 22. 11. 2007. (17:52:27) Postovi: (12F)16 
Spol:   
 
		 | 
		
			
				 Postano: 0:29 pon, 22. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [code:1]
 /*
 Zadatak 8.12. Napiˇsite funkciju koja kao argumente uzima ime datoteke, te realne parametre a, b i d > 0.
 Neka je m := min{a, b} i M := max{a, b}.
 Funkcija treba u datoteku zapisati tablicu s dva
 stupca: u prvom stupcu trebaju biti sve vrijednosti
 x E {m + k * d <= M : k E N0} u uzlaznom poretku, 
 a u drugom stupcu trebaju biti odgovaraju´ce vrijednosti funkcije
 f(x) := sin x / (cos x + log x).
 Izlazna datoteka treba biti u CSV formatu, s toˇcka-zarezima kao separatorima. 
 Odgovaraju´ce matematiˇcke funkcije nalaze se u biblioteci math.
 */
 #include<stdio.h>
 #include<math.h>
 #include<stdlib.h>
 
 double max(double x, double y){
             if(x>y) return x;
             else return y;
             }
           
 double min(double x, double y){
             if(x<y) return x;
             else return y;
             }            
             
 void funkcija(FILE *out, double a, double b, double d){
      double m, M, x, y, *polje=NULL;
      int i, j, k=0, br=0;
      m=min(a, b);
      M=max(a, b);
      
      while(1){
                 if(m+k*d >M) break;
                 polje=(double*)realloc(polje, br++ * sizeof(double));
                 polje[br-1]=m+k*d;
                 k++; 
                  }
                  
      for(i=0; i<br-1; i++)
         for( j=i+1; j<br; j++)
            if( polje[i]>polje[j]){
                double temp=polje[i];
                polje[i]=polje[j];
                polje[j]=temp;
                }
                
      for(i=0; i<br; i++){
            x=polje[i];
            y=(sin(x))/( cos(x) + log(x) );   
            fprintf( out, "%g; %g\n", x, y );
            }          
      }
      
 int main(){
     FILE *out;
     out=fopen("8.12.txt", "wt");
     if(out==NULL){
                 printf("Greska pri otvaranju datoteke!\n");
                 exit(1);
                 }
     funkcija(out, 1, 3, 2);
     
     fclose(out);
     scanf("%%");
     return 0;
 }                
 [/code:1]
 
 uredno mi ispisuje x-eve u prvom stupcu ali ne dobivam odgovarajuće brojeve za f(x) u drugom stupcu... :?
 jel možda problem u ovim fjama sin(x), cos(x), log(x)? u c-u se isto tak pišu, jel? barem tako piše na službenom šalabahteru  :roll: 
					
					 	  | Kod: | 	 		  
 
/*
 
Zadatak 8.12. Napiˇsite funkciju koja kao argumente uzima ime datoteke, te realne parametre a, b i d > 0.
 
Neka je m := min{a, b} i M := max{a, b}.
 
Funkcija treba u datoteku zapisati tablicu s dva
 
stupca: u prvom stupcu trebaju biti sve vrijednosti
 
x E {m + k * d <= M : k E N0} u uzlaznom poretku, 
 
a u drugom stupcu trebaju biti odgovaraju´ce vrijednosti funkcije
 
f(x) := sin x / (cos x + log x).
 
Izlazna datoteka treba biti u CSV formatu, s toˇcka-zarezima kao separatorima. 
 
Odgovaraju´ce matematiˇcke funkcije nalaze se u biblioteci math.
 
*/
 
#include<stdio.h>
 
#include<math.h>
 
#include<stdlib.h>
 
 
double max(double x, double y){
 
            if(x>y) return x;
 
            else return y;
 
            }
 
          
 
double min(double x, double y){
 
            if(x<y) return x;
 
            else return y;
 
            }            
 
            
 
void funkcija(FILE *out, double a, double b, double d){
 
     double m, M, x, y, *polje=NULL;
 
     int i, j, k=0, br=0;
 
     m=min(a, b);
 
     M=max(a, b);
 
     
 
     while(1){
 
                if(m+k*d >M) break;
 
                polje=(double*)realloc(polje, br++ * sizeof(double));
 
                polje[br-1]=m+k*d;
 
                k++; 
 
                 }
 
                 
 
     for(i=0; i<br-1; i++)
 
        for( j=i+1; j<br; j++)
 
           if( polje[i]>polje[j]){
 
               double temp=polje[i];
 
               polje[i]=polje[j];
 
               polje[j]=temp;
 
               }
 
               
 
     for(i=0; i<br; i++){
 
           x=polje[i];
 
           y=(sin(x))/( cos(x) + log(x) );   
 
           fprintf( out, "%g; %g\n", x, y );
 
           }          
 
     }
 
     
 
int main(){
 
    FILE *out;
 
    out=fopen("8.12.txt", "wt");
 
    if(out==NULL){
 
                printf("Greska pri otvaranju datoteke!\n");
 
                exit(1);
 
                }
 
    funkcija(out, 1, 3, 2);
 
    
 
    fclose(out);
 
    scanf("%%");
 
    return 0;
 
}                
 
 | 	  
 
 
uredno mi ispisuje x-eve u prvom stupcu ali ne dobivam odgovarajuće brojeve za f(x) u drugom stupcu...  
 
jel možda problem u ovim fjama sin(x), cos(x), log(x)? u c-u se isto tak pišu, jel? barem tako piše na službenom šalabahteru   
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 1:47 pon, 22. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Meni ispise
 [code:1]1; 1.55741
 3; 1.29921[/code:1]
 i onda padne s porukom "[tt]Segmentation fault[/tt]", sto ce reci da negdje nesto krivo brljas s memorijom. :?
 
 Sto ce ti dinamicka alokacija u ovakvom zadatku?!? :shock: Da sortiras brojeve za koje vec znas da su u rastucem poretku (jer je d > 0)? :joooj:
 
 Usput, ta alokacija je kriva; treba ici [tt]++br[/tt], a ne [tt]br++[/tt]. :| Plus, fali oslobadjanje memorije. :?
 
 Preporuka: ne kompliciraj si zivot; napisi to bez dinamicke alokacije. :) Slicni zadaci su se radili u prvom semestru, pod petljama (dakle cak prije "obicnih" nizova!), samo bez pisanja u datoteku. 8)
 
 P.S. Ako je separator tocka zarez, onda stavljas nju, bez dodatnih razmaka. :) Dakle
 [tt]fprintf(out, "%g;%g\n", x, y);[/tt]
 a ne
 [strike][tt]fprintf(out, "%g;[bg=#ffa0a0] [/bg]%g\n", x, y);[/tt][/strike]
 8) 
					
					Meni ispise
 
 	  | Kod: | 	 		  1; 1.55741
 
3; 1.29921 | 	  
 
i onda padne s porukom "Segmentation fault", sto ce reci da negdje nesto krivo brljas s memorijom.  
 
 
Sto ce ti dinamicka alokacija u ovakvom zadatku?!?   Da sortiras brojeve za koje vec znas da su u rastucem poretku (jer je d > 0)?  
 
 
Usput, ta alokacija je kriva; treba ici ++br, a ne br++.   Plus, fali oslobadjanje memorije.  
 
 
Preporuka: ne kompliciraj si zivot; napisi to bez dinamicke alokacije.   Slicni zadaci su se radili u prvom semestru, pod petljama (dakle cak prije "obicnih" nizova!), samo bez pisanja u datoteku.  
 
 
P.S. Ako je separator tocka zarez, onda stavljas nju, bez dodatnih razmaka.   Dakle
 
fprintf(out, "%g;%g\n", x, y);
 
a ne
 
fprintf(out, "%g; %g\n", x, y);
 
 
					_________________ 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] | 
		 | 
	
	
		lucika Forumaš(ica)
  
  
  Pridružen/a: 22. 11. 2007. (17:52:27) Postovi: (12F)16 
Spol:   
 
		 | 
		
			
				 Postano: 2:10 pon, 22. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         evo ispravila sam ali opet ne ispisuje dobre vrijednostu...
 [code:1]
 void funkcija(FILE *out, double a, double b, double d){
      int  k=0;
      double m, M, x;
      m=min(a, b);
      M=max(a, b);
      
      while(1){
                 if(m+k*d >M) break;
                 x=m+k*d;
                 k++;
                 fprintf( out, "%g;%g\n", x, (sin(x))/( cos(x) + log(x) )  ); 
                  }
                  
                  }
 [/code:1] 
					
					evo ispravila sam ali opet ne ispisuje dobre vrijednostu...
 
 	  | Kod: | 	 		  
 
void funkcija(FILE *out, double a, double b, double d){
 
     int  k=0;
 
     double m, M, x;
 
     m=min(a, b);
 
     M=max(a, b);
 
     
 
     while(1){
 
                if(m+k*d >M) break;
 
                x=m+k*d;
 
                k++;
 
                fprintf( out, "%g;%g\n", x, (sin(x))/( cos(x) + log(x) )  ); 
 
                 }
 
                 
 
                 }
 
 | 	  
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 2:34 pon, 22. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [code:1][vsego@petko tmp]$ gcc -lm t.c && ./a.out && cat 8.12.txt
 1;1.55741
 3;1.29921
 [vsego@petko tmp]$ perl -e 'foreach(1,3){print $_,";",sin($_)/(cos($_)+log($_)),"\n";}'
 1;1.5574077246549
 3;1.29921081023573[/code:1]
 
 Meni izgleda tocno. :) U cemu je problem? :grebgreb: Mozda si zaboravila da trigonometrijske funkcije rade s radijanima? :D
 
 Usput:
 [code:1]                if(m+k*d >M) break;
                 x=m+k*d;
                 k++;[/code:1]
 :arrow:
 [code:1]                x = m + k*d;
                 if (x > M) break;
                 k++;[/code:1]
 ili, bolje,
 [code:1]                x += d;
                 if (x > M) break;[/code:1]
 (uz inicijalizaciju [tt]x = m[/tt] prije petlje). 8) 
					
					 	  | Kod: | 	 		  [vsego@petko tmp]$ gcc -lm t.c && ./a.out && cat 8.12.txt
 
1;1.55741
 
3;1.29921
 
[vsego@petko tmp]$ perl -e 'foreach(1,3){print $_,";",sin($_)/(cos($_)+log($_)),"\n";}'
 
1;1.5574077246549
 
3;1.29921081023573 | 	  
 
 
Meni izgleda tocno.   U cemu je problem?   Mozda si zaboravila da trigonometrijske funkcije rade s radijanima?  
 
 
Usput:
 
 	  | Kod: | 	 		                  if(m+k*d >M) break;
 
                x=m+k*d;
 
                k++; | 	  
 
 
 
 	  | Kod: | 	 		                  x = m + k*d;
 
                if (x > M) break;
 
                k++; | 	  
 
ili, bolje,
 
 	  | Kod: | 	 		                  x += d;
 
                if (x > M) break; | 	  
 
(uz inicijalizaciju x = m prije petlje).  
					_________________ 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] | 
		 | 
	
	
		lucika Forumaš(ica)
  
  
  Pridružen/a: 22. 11. 2007. (17:52:27) Postovi: (12F)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 3:06 pon, 22. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         Sto znaci da na kalkulatoru uvrstavas 1 (odnosno 3) [strike]stupnja[/strike], a ne 1 (odnosno 3) [b]radijana[/b]; evo, kad PERL-u kazem da to isto racuna za stupnjeve:
 [code:1][vsego@petko tmp]$ perl -e 'foreach(1,3){$f=atan2(1,0)/90;print $_,";",sin($f*$_)/(cos($f*$_) + log($_)),"\n";}'
 1;0.0174550649282176
 3;0.0249546598100604[/code:1]
 No, u matematici (kao i u C-u, PERL-u,...) racuna se s radijanima. :tso: "Stupanj" znaci [latex]\pi / 180[/latex], nista drugo. 8) Zaboravi stupnjeve cim prije... bit ce ti lakse. ;) 
					
					Sto znaci da na kalkulatoru uvrstavas 1 (odnosno 3) stupnja, a ne 1 (odnosno 3) radijana; evo, kad PERL-u kazem da to isto racuna za stupnjeve:
 
 	  | Kod: | 	 		  [vsego@petko tmp]$ perl -e 'foreach(1,3){$f=atan2(1,0)/90;print $_,";",sin($f*$_)/(cos($f*$_) + log($_)),"\n";}'
 
1;0.0174550649282176
 
3;0.0249546598100604 | 	  
 
No, u matematici (kao i u C-u, PERL-u,...) racuna se s radijanima.   "Stupanj" znaci  , nista drugo.   Zaboravi stupnjeve cim prije... bit ce ti lakse.  
					_________________ 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] | 
		 | 
	
	
		Milojko Forumaš(ica)
  
  
  Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16 
Spol:   
Lokacija: Hilbertov hotel 
		 | 
		
			
				 Postano: 16:14 sri, 24. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [code:1]
 typedef struct{
         char ime[16];
         int broj;
         char nast[10];
         } redak;
         
 /* trazenje dali se element pojavljuje unutar niza i ako se pojavljuje 
    povećava mu se broj. u suprotnom, novi element se zapisuje u niz */
            
 void search(redak lista[], char nejm[], char put[], int b, int *n) {
      int i;
      for (i = 0; i < *n; ++i) {
          if (!strcmp(lista[i].ime, nejm)) {
                                    lista[i].broj += b;
                                    }
          }
      strcpy(lista[i].ime, nejm);
      lista[i].broj = b;
      strcpy(lista[i].nast, put);
      ++(*n);
      }
         
         
 void pon(FILE *in, FILE *out) {
      redak lista[200];
      int i, br, n = 0;
      char nejm[16], put[10];
      
      /* ovdje brojim i pišem u niz */
      
      while (fscanf(in, " %s %d %s", nejm, &br, put)) {
            search(lista, nejm, put, br, &n);
            }
      
      /* ovdje to čud ispisujem u datoteku out */
      
      for (i = 0; i < n; ++i) {
          int j = 0;
          while (j < lista[i].broj) {
                fprintf(out, "%s ", lista[i].ime);
                j++;
                }
          fprintf(out, "\n");
          }
      }[/code:1]
 
 radi se o zadatku sa datotekama iz C grupe kolokvija iz 06/07. negdje unutar ovih funkcija gazim po memoriji, ili tako nešto. "Application error" javlja i veli "memorry could not be read"
 unutar glavnog programa datoteke su uredno otvorene kako treba. 
					
					 	  | Kod: | 	 		  
 
typedef struct{
 
        char ime[16];
 
        int broj;
 
        char nast[10];
 
        } redak;
 
        
 
/* trazenje dali se element pojavljuje unutar niza i ako se pojavljuje 
 
   povećava mu se broj. u suprotnom, novi element se zapisuje u niz */
 
           
 
void search(redak lista[], char nejm[], char put[], int b, int *n) {
 
     int i;
 
     for (i = 0; i < *n; ++i) {
 
         if (!strcmp(lista[i].ime, nejm)) {
 
                                   lista[i].broj += b;
 
                                   }
 
         }
 
     strcpy(lista[i].ime, nejm);
 
     lista[i].broj = b;
 
     strcpy(lista[i].nast, put);
 
     ++(*n);
 
     }
 
        
 
        
 
void pon(FILE *in, FILE *out) {
 
     redak lista[200];
 
     int i, br, n = 0;
 
     char nejm[16], put[10];
 
     
 
     /* ovdje brojim i pišem u niz */
 
     
 
     while (fscanf(in, " %s %d %s", nejm, &br, put)) {
 
           search(lista, nejm, put, br, &n);
 
           }
 
     
 
     /* ovdje to čud ispisujem u datoteku out */
 
     
 
     for (i = 0; i < n; ++i) {
 
         int j = 0;
 
         while (j < lista[i].broj) {
 
               fprintf(out, "%s ", lista[i].ime);
 
               j++;
 
               }
 
         fprintf(out, "\n");
 
         }
 
     } | 	  
 
 
radi se o zadatku sa datotekama iz C grupe kolokvija iz 06/07. negdje unutar ovih funkcija gazim po memoriji, ili tako nešto. "Application error" javlja i veli "memorry could not be read"
 
unutar glavnog programa datoteke su uredno otvorene kako treba.
					_________________ Sedam je prost broj   
Bolonja je smeće i to pod hitno treba mijenjat  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Éomer Forumaš(ica)
  
 
  Pridružen/a: 24. 04. 2009. (17:35:52) Postovi: (13)16 
Lokacija: Edoras, Rohan 
		 | 
		
			
				 Postano: 4:14 čet, 25. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [quote="Luuka"][quote="moi"]
 Ana Pero 100  
 Pero Ante 150
 [/quote]
 
 fscanf (dat, "%s %s %d", ime1,ime2,&broj);
 
 gdje je dat pointer na ulaznu datoteku, ime1 i ime2 dovoljno veliki char[], a broj integer.
 [/quote]
 
 OK ovo super funkcionira kada imamo razmake izmedju stringova i intova, pa program "vidi" kada je unesen prvi string, pa drugi string, pa int... ali sto ako nema razmaka nego je sve u jednom redu? Kako onda ucitati podatke iz datoteke? Npr:
 
 [img]http://i41.tinypic.com/fm4az7.jpg[/img]
 
 Kada bi umjesto [tt]192+3918[/tt] pisalo [tt]192[/tt][bg=red] [/bg][tt]3918[/tt] onda bi unos bio kao sto je Luuka napisao ali sto ako u jednom redu imamo dva broja i jos neke charove a moramo ucitati samo brojeve? 
					
					 	  | Luuka (napisa): | 	 		   	  | moi (napisa): | 	 		  
 
Ana Pero 100  
 
Pero Ante 150
 
 | 	  
 
 
fscanf (dat, "%s %s %d", ime1,ime2,&broj);
 
 
gdje je dat pointer na ulaznu datoteku, ime1 i ime2 dovoljno veliki char[], a broj integer.
 
 | 	  
 
 
OK ovo super funkcionira kada imamo razmake izmedju stringova i intova, pa program "vidi" kada je unesen prvi string, pa drugi string, pa int... ali sto ako nema razmaka nego je sve u jednom redu? Kako onda ucitati podatke iz datoteke? Npr:
 
 
 
 
 
Kada bi umjesto 192+3918 pisalo 192 3918 onda bi unos bio kao sto je Luuka napisao ali sto ako u jednom redu imamo dva broja i jos neke charove a moramo ucitati samo brojeve?
					
 
  
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		Gino Forumaš(ica)
  
 
  Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16 
Lokacija: Pula 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Luuka Forumaš(ica)
  
  
  Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16 
Spol:   
Lokacija: Hakuna Matata 
		 | 
		
			
				 Postano: 10:00 čet, 25. 6. 2009    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [quote="Éomer"]
 [tt]192+3918[/tt] [/quote]
 
 Ako znaš da će ti to pisat, nema problema, onda ovak:
 
 fscanf (dat, "%d+%d", &broj1,&broj2); :D 
					
					
 
 
Ako znaš da će ti to pisat, nema problema, onda ovak:
 
 
fscanf (dat, "%d+%d", &broj1,&broj2);  
					_________________ "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] | 
		 | 
	
	
		Gino Forumaš(ica)
  
 
  Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16 
Lokacija: Pula 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Luuka Forumaš(ica)
  
  
  Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16 
Spol:   
Lokacija: Hakuna Matata 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		Éomer Forumaš(ica)
  
 
  Pridružen/a: 24. 04. 2009. (17:35:52) Postovi: (13)16 
Lokacija: Edoras, Rohan 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		matka Forumaš(ica)
  
 
  Pridružen/a: 03. 03. 2008. (11:07:54) Postovi: (38)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		 |