Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Prog2 DZ
WWW:
Idite na Prethodno  1, 2, 3 ... , 11, 12, 13  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
angelika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 02. 2011. (17:26:51)
Postovi: (5F)16
Sarma = la pohva - posuda
= 3 - 1

PostPostano: 11:22 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Može pomoć sa 2 zadatkom iz 5dz? Doma mi radi na svakom primjeru al aplikacija za zadaće kaže da ne valja, a zbilja si ne vidim više niti jednu grešku

[i]Napišite program koji čita datoteku "zvhdno.in", te ju prepisuje u datoteku "zvhdno.out" tako da u prepisivanju sva pojavljivanja stringa "wsv" zamijeni stringom "kjawmaf".
Napomena: Nemojte uvoditi ograničenja na duljinu datoteke i/ili pojedinih linija i riječi u datoteci[/i]

[code:1]#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE *in, *out;
char a;

in=fopen("zvhdno.in","rt");
if(in==NULL){printf("greska"); exit(1);}

out=fopen("zvhdno.out","wt");
if(out==NULL){printf("greska");exit(1);}

while(fscanf(in,"%c",&a)>0)
{
if(a=='w')
{
fscanf(in,"%c",&a);
if(a=='s')
{
fscanf(in,"%c",&a);
if(a=='v')
fprintf(out,"kjawmaf");
else fprintf(out,"ws%c",a);
}
else fprintf(out,"w%c",a);
}
else fprintf(out,"%c",a);
}

fclose(in);
fclose(out);
return 0;
}[/code:1]
Može pomoć sa 2 zadatkom iz 5dz? Doma mi radi na svakom primjeru al aplikacija za zadaće kaže da ne valja, a zbilja si ne vidim više niti jednu grešku

Napišite program koji čita datoteku "zvhdno.in", te ju prepisuje u datoteku "zvhdno.out" tako da u prepisivanju sva pojavljivanja stringa "wsv" zamijeni stringom "kjawmaf".
Napomena: Nemojte uvoditi ograničenja na duljinu datoteke i/ili pojedinih linija i riječi u datoteci


Kod:
#include<stdio.h>
#include<stdlib.h>

int main()
{
    FILE *in, *out;
    char a;

    in=fopen("zvhdno.in","rt");
    if(in==NULL){printf("greska"); exit(1);}

    out=fopen("zvhdno.out","wt");
    if(out==NULL){printf("greska");exit(1);}

    while(fscanf(in,"%c",&a)>0)
    {
        if(a=='w')
            {
                fscanf(in,"%c",&a);
                    if(a=='s')
                        {
                            fscanf(in,"%c",&a);
                                if(a=='v')
                                    fprintf(out,"kjawmaf");
                                else fprintf(out,"ws%c",a);
                        }
                    else fprintf(out,"w%c",a);
            }
            else fprintf(out,"%c",a);
    }

    fclose(in);
    fclose(out);
    return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
gogo_
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 10. 2009. (17:06:47)
Postovi: (3F)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 11:25 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Ako bi mogao neko pogledati kod i reci sto ne valja..zadatak je sa izbacivanjem svake 7 rijeci i invertiranjem ostalih...na primjerima mi radi
[code:1]#include<stdio.h>
#include<string.h>
void obrniporedak(char n[],char t[],int p, int z)
{
int i,j=0;
for(i=z;i>=p;i--)
{
t[p+j]=n[i];
j++;
}
}
int main()
{
char n[10400], t[10400];
int i=0,d,q,br=0,j=0;
scanf("%[^\n]", n);
d=strlen(n);
for(i=0;i<d;i++)
{
if(!(n[i]==' '))
{
for(j=i+1;j<d;j++)
{
if((n[j]==' ')&&((!(n[j-1]==' '))))
{
q=j-1;
obrniporedak(n,t,i,q);
break;
}
if(j==d-1)
{
q=j;
obrniporedak(n,t,i,q);
}
}
i=j;
}
}
for(i=0;i<d;i++)
{
if((t[i]>='a' && t[i]<='z') || (t[i]>='A'&&t[i]<='Z'))
n[i]=t[i];
}

for(i=0;i<d;i++)
{
if((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
{
br++;
if(br%7==0 && br>0)
{
while((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
{
i++;
}
while(!((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z')))
{
i++;
}
}
else
while((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
{
printf("%c",n[i]);
i++;
}

}
if(i<d)
printf("%c",n[i]);
}
return 0;
}[/code:1]
Ako bi mogao neko pogledati kod i reci sto ne valja..zadatak je sa izbacivanjem svake 7 rijeci i invertiranjem ostalih...na primjerima mi radi
Kod:
#include<stdio.h>
#include<string.h>
void obrniporedak(char n[],char t[],int p, int z)
{
    int i,j=0;
    for(i=z;i>=p;i--)
    {
    t[p+j]=n[i];
    j++;
    }
}
int main()
{
char n[10400], t[10400];
int i=0,d,q,br=0,j=0;
scanf("%[^\n]", n);
d=strlen(n);
for(i=0;i<d;i++)
{
    if(!(n[i]==' '))
    {
        for(j=i+1;j<d;j++)
        {
            if((n[j]==' ')&&((!(n[j-1]==' '))))
            {
                q=j-1;
                obrniporedak(n,t,i,q);
                break;
            }
            if(j==d-1)
            {
                q=j;
                obrniporedak(n,t,i,q);
            }
        }
        i=j;
    }
}
for(i=0;i<d;i++)
{
    if((t[i]>='a' && t[i]<='z') || (t[i]>='A'&&t[i]<='Z'))
    n[i]=t[i];
}

for(i=0;i<d;i++)
{
    if((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
    {
        br++;
        if(br%7==0 && br>0)
        {
            while((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
            {
                i++;
            }
            while(!((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z')))
            {
                i++;
            }
        }
        else
        while((n[i]>='a' && n[i]<='z') || (n[i]>='A'&&n[i]<='Z'))
            {
                printf("%c",n[i]);
                i++;
            }

    }
    if(i<d)
    printf("%c",n[i]);
}
return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Pavlek
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2011. (21:05:53)
Postovi: (E)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 1

PostPostano: 12:20 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Moze pomoc oko 5.3. zadatka iz zadace.. Meni uredno sve radi ali mi verifikator ne prihvaca kod kao tocan..
[code:1]

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

typedef struct {
int dan,mjes,god,br;
}vrijeme;
int main ()
{
FILE *in,*out;
int n,j;
vrijeme *time;
if((in=fopen("zwdss.in","rt"))==NULL)
{
exit(1);
}
fscanf(in,"%d",&n);
time = (vrijeme*)malloc(n*sizeof(vrijeme));
int i=0;
while(fscanf(in,"%d.%d.%d.",&time[i].dan,&time[i].mjes,&time[i].god)==3)
{
time[i].br=1;
i++;
}
fclose(in);

for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(time[i].dan==time[j].dan && time[i].mjes == time[j].mjes && time[i].god==
time[j].god) { time[i].br++;}
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)

if(time[i].god>time[j].god)
{
vrijeme tmp = time[j];
time[j]=time[i];
time[i]=tmp;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)

if(time[i].god == time[j].god && time[i].mjes>time[j].mjes)
{
vrijeme tmp = time[j];
time[j]=time[i];
time[i]=tmp;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)

if(time[i].god == time[j].god && time[i].mjes==time[j].mjes && time[i].dan > time[j].dan)
{
vrijeme tmp = time[j];
time[j]=time[i];
time[i]=tmp;
}


out = fopen("zwdss.out","wt");
for(i=0;i<n;i++)
{
int k = 1;
for(j=0;j<i;j++)
{
if(i!=0 && (time[i].dan==time[j].dan && time[i].mjes == time[j].mjes && time[i].god==
time[j].god)) k = 0;
}
if(k) fprintf(out,"%d#%d.%d.%d.\n",time[i].br,time[i].dan,time[i].mjes,time[i].god);
}
free(time);
fclose(out);
return 0;
}
[/code:1]
Moze pomoc oko 5.3. zadatka iz zadace.. Meni uredno sve radi ali mi verifikator ne prihvaca kod kao tocan..
Kod:


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

typedef struct {
    int dan,mjes,god,br;
    }vrijeme;
int main ()
{
    FILE *in,*out;
    int n,j;
    vrijeme *time;
    if((in=fopen("zwdss.in","rt"))==NULL)
    {
        exit(1);
    }
    fscanf(in,"%d",&n);
    time = (vrijeme*)malloc(n*sizeof(vrijeme));
    int i=0;
    while(fscanf(in,"%d.%d.%d.",&time[i].dan,&time[i].mjes,&time[i].god)==3)
    {
        time[i].br=1;
        i++;
    }
    fclose(in);

    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
    {
        if(time[i].dan==time[j].dan && time[i].mjes == time[j].mjes && time[i].god==
           time[j].god) { time[i].br++;}
    }
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)

        if(time[i].god>time[j].god)
        {
            vrijeme tmp = time[j];
            time[j]=time[i];
            time[i]=tmp;
        }
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)

        if(time[i].god == time[j].god && time[i].mjes>time[j].mjes)
        {
            vrijeme tmp = time[j];
            time[j]=time[i];
            time[i]=tmp;
        }
    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)

        if(time[i].god == time[j].god && time[i].mjes==time[j].mjes && time[i].dan > time[j].dan)
        {
            vrijeme tmp = time[j];
            time[j]=time[i];
            time[i]=tmp;
        }


    out = fopen("zwdss.out","wt");
    for(i=0;i<n;i++)
    {
       int k = 1;
    for(j=0;j<i;j++)
    {
        if(i!=0 && (time[i].dan==time[j].dan && time[i].mjes == time[j].mjes && time[i].god==
           time[j].god)) k = 0;
    }
    if(k) fprintf(out,"%d#%d.%d.%d.\n",time[i].br,time[i].dan,time[i].mjes,time[i].god);
    }
    free(time);
    fclose(out);
    return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
homoviator
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 01. 2011. (18:42:32)
Postovi: (3A)16
Sarma = la pohva - posuda
= 6 - 5

PostPostano: 13:44 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[code:1]Može pomoć sa 2 zadatkom iz 5dz? Doma mi radi na svakom primjeru al aplikacija za zadaće kaže da ne valja, a zbilja si ne vidim više niti jednu grešku
[/code:1]
pokušaj učitati u datoteci 'wwsv' , inače na ovu temu je već raspravljano ... pogledaj starije post-ove ... većina nas radi istu gresku na ovom zadatku, kako je asistent Šego rekao:" Ako prvo slovo nije dobro, ne znači da nije ni drugo...." ....

[size=9][color=#999999]Added after 24 minutes:[/color][/size]

[code:1]Ako bi mogao neko pogledati kod i reci sto ne valja..zadatak je sa izbacivanjem svake 7 rijeci i invertiranjem ostalih...na primjerima mi radi [/code:1]
pozabavi se kod razmaka, mislim da pri izbacivanju riječi ne ostavljaš razmake između 6.i7. i 7.i 8.


p.s. nisam neki čitač programa, no nadam se da će ovo bar malo pomoći ...

[size=9][color=#999999]Added after 15 minutes:[/color][/size]

kod1:[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
FILE *f,*g;
char s2[6],*str,c,c1,*str1;
int i,max=-1,n=0,j,k;
strcpy (s2,"nqvsj");
if((f=fopen("ornmc.in.txt","rt"))==0)
exit(-1);
if((g=fopen("ornmc.out.txt","wt"))==0)
exit(-1);
while(1)
{
if((fscanf(f,"%c",&c1))!=1) break;
{
if(c1!=' ' && c1!='\t' && c1!='\n') n++;
else
{
if(n>max) max=n;
n=0;
}
}
}
max=max+1;
rewind(f);
[code]while(1)[/code]
{
i=0;
str=(char*)malloc(max*sizeof(char));
lin: [code]if((fscanf(f,"%c",&c))!=1) break;[/code]
if(c!=' ' && c!='\t' && c!='\n')
{
str[i]=c;
i++;
goto lin;
}else {ungetc(c,f); str=(char*)realloc(str,i);}
for(j=0;j<i;)
{
if(str[j]=='s' && str[j+1]=='w' && str[j+2]=='w')
{
for(k=0;k<5;k++)
fprintf(g,"%c",s2[k]);
j=j+3;
}
else {fprintf(g,"%c",str[j]); j++;}
}
lin1: if((fscanf(f,"%c",&c))!=1) break;
if(c==' ' || c=='\t' || c=='\n') {fprintf(g,"%c",c); goto lin1;}
else ungetc(c,f);
free(str);

}
fclose(f);
fclose(g);
free(str);
return 0;
}
[/code:1]
kod2:
[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
FILE *f,*g;
char s2[6],*str,c,c1,*str1;
int i,max=-1,n=0,j,k,br=0,l;
strcpy (s2,"nqvsj");
if((f=fopen("ornmc.in.txt","rt"))==0)
exit(-1);
if((g=fopen("ornmc.out.txt","wt"))==0)
exit(-1);
while(1)
{
if((fscanf(f,"%c",&c1))!=1) break;
{
br=br+1;
if(c1!=' ' && c1!='\t' && c1!='\n') n++;
else
{
if(n>max) max=n;
n=0;
}
}
}
max=max+1;
rewind(f);
l=0;
[code]while(l<br)[/code]
{
i=0;
str=(char*)malloc(max*sizeof(char));
lin: fscanf(f,"%c",&c);
if(c!=' ' && c!='\t' && c!='\n')
{
str[i]=c;
i++;
[code]l++;[/code]
goto lin;
}
str=(char*)realloc(str,i);
for(j=0;j<i;)
{
if(str[j]=='s' && str[j+1]=='w' && str[j+2]=='w')
{
for(k=0;k<5;k++)
fprintf(g,"%c",s2[k]);
j=j+3;
}
else {fprintf(g,"%c",str[j]); j++;}
}
fprintf(g,"%c",c);
[code]l++;[/code]
lin1: fscanf(f,"%c",&c);
if(c==' ' || c=='\t' || c=='\n') {fprintf(g,"%c",c); l++; goto lin1;}
else ungetc(c,f);
free(str);
}
fclose(f);
fclose(g);
free(str);
return 0;
}
[/code:1]
Ovo su 2 naizgled ista koda osim što je razlika u while petljama... prvi kod "radi"(tj. ne radi samo za zadnji string jer fscanf prekine petlju), a kod drugog se prog ruši ... ima li itko ideju ili može li mi netko reći kako da uspijem ispisati i tu zadnju riječ ... može li neka kokombinacija ova 2koda pomoći...
ispričavam se na ovoj glomaznosti post-a...
Kod:
Može pomoć sa 2 zadatkom iz 5dz? Doma mi radi na svakom primjeru al aplikacija za zadaće kaže da ne valja, a zbilja si ne vidim više niti jednu grešku

pokušaj učitati u datoteci 'wwsv' , inače na ovu temu je već raspravljano ... pogledaj starije post-ove ... većina nas radi istu gresku na ovom zadatku, kako je asistent Šego rekao:" Ako prvo slovo nije dobro, ne znači da nije ni drugo...." ....

Added after 24 minutes:

Kod:
Ako bi mogao neko pogledati kod i reci sto ne valja..zadatak je sa izbacivanjem svake 7 rijeci i invertiranjem ostalih...na primjerima mi radi

pozabavi se kod razmaka, mislim da pri izbacivanju riječi ne ostavljaš razmake između 6.i7. i 7.i 8.


p.s. nisam neki čitač programa, no nadam se da će ovo bar malo pomoći ...

Added after 15 minutes:

kod1:
Kod:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
    FILE *f,*g;
    char s2[6],*str,c,c1,*str1;
    int i,max=-1,n=0,j,k;
    strcpy (s2,"nqvsj");
    if((f=fopen("ornmc.in.txt","rt"))==0)
    exit(-1);
    if((g=fopen("ornmc.out.txt","wt"))==0)
    exit(-1);
    while(1)
    {
        if((fscanf(f,"%c",&c1))!=1) break;
        {
            if(c1!=' ' && c1!='\t' && c1!='\n')  n++;
            else
            {
                if(n>max) max=n;
                n=0;
            }
        }
    }
    max=max+1;
    rewind(f);
    [code]while(1)[/code]
    {
        i=0;
        str=(char*)malloc(max*sizeof(char));
  lin:  [code]if((fscanf(f,"%c",&c))!=1) break;[/code]
        if(c!=' ' && c!='\t' && c!='\n')
        {
            str[i]=c;
            i++;
            goto lin;
        }else {ungetc(c,f);  str=(char*)realloc(str,i);}
        for(j=0;j<i;)
        {
            if(str[j]=='s' && str[j+1]=='w' && str[j+2]=='w')
            {
                for(k=0;k<5;k++)
                fprintf(g,"%c",s2[k]);
                j=j+3;
            }
            else {fprintf(g,"%c",str[j]); j++;}
        }
 lin1:  if((fscanf(f,"%c",&c))!=1) break;
        if(c==' ' || c=='\t' || c=='\n') {fprintf(g,"%c",c); goto lin1;}
        else ungetc(c,f);
        free(str);

    }
    fclose(f);
    fclose(g);
    free(str);
    return 0;
}

kod2:
Kod:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
    FILE *f,*g;
    char s2[6],*str,c,c1,*str1;
    int i,max=-1,n=0,j,k,br=0,l;
    strcpy (s2,"nqvsj");
    if((f=fopen("ornmc.in.txt","rt"))==0)
    exit(-1);
    if((g=fopen("ornmc.out.txt","wt"))==0)
    exit(-1);
    while(1)
    {
        if((fscanf(f,"%c",&c1))!=1) break;
        {
            br=br+1;
            if(c1!=' ' && c1!='\t' && c1!='\n')  n++;
            else
            {
                if(n>max) max=n;
                n=0;
            }
        }
    }
    max=max+1;
    rewind(f);
    l=0;
    [code]while(l<br)[/code]
    {
        i=0;
        str=(char*)malloc(max*sizeof(char));
  lin:  fscanf(f,"%c",&c);
        if(c!=' ' && c!='\t' && c!='\n')
        {
            str[i]=c;
            i++;
            [code]l++;[/code]
            goto lin;
        }
        str=(char*)realloc(str,i);
        for(j=0;j<i;)
        {
            if(str[j]=='s' && str[j+1]=='w' && str[j+2]=='w')
            {
                for(k=0;k<5;k++)
                fprintf(g,"%c",s2[k]);
                j=j+3;
            }
            else {fprintf(g,"%c",str[j]); j++;}
        }
        fprintf(g,"%c",c);
         [code]l++;[/code]
 lin1:  fscanf(f,"%c",&c);
        if(c==' ' || c=='\t' || c=='\n') {fprintf(g,"%c",c); l++; goto lin1;}
        else ungetc(c,f);
        free(str);
    }
    fclose(f);
    fclose(g);
    free(str);
    return 0;
}

Ovo su 2 naizgled ista koda osim što je razlika u while petljama... prvi kod "radi"(tj. ne radi samo za zadnji string jer fscanf prekine petlju), a kod drugog se prog ruši ... ima li itko ideju ili može li mi netko reći kako da uspijem ispisati i tu zadnju riječ ... može li neka kokombinacija ova 2koda pomoći...
ispričavam se na ovoj glomaznosti post-a...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
izvanzemaljka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 05. 2012. (13:40:59)
Postovi: (7)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 13:47 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

jel bi mogao netko biti tako dobar i objasnit mi zašto ovaj kod ne priznaje u zadaćama???

tekst zadatka
Napišite program koji čita datoteku "fzblai.in", te ju prepisuje u datoteku "fzblai.out" tako da u prepisivanju sva pojavljivanja stringa "oef" zamijeni stringom "erwwmti".
Napomena: Nemojte uvoditi ograničenja na duljinu datoteke i/ili pojedinih linija i riječi u datoteci.

[code:1]#include <stdio.h>
#include <stdlib.h>

int main(void)
{
FILE *in, *out;
char a,b,c, *s;

s = "erwwmti";

if( (in=fopen("fzblai.in", "r")) == NULL) {printf ("Greska."); exit (1); }
if( (out=fopen("fzblai.out", "w")) == NULL) {printf ("Greska."); exit (1);}

while ((a=fgetc(in)) != EOF)
{
if (a=='o')
{
fscanf(in, "%c%c", &b,&c);
if( b=='e' && c=='f') fprintf (out, "%s", s);
else
{
fprintf (out, "%c",a);
ungetc (c,in); ungetc(b,in);
}
}
else fprintf (out, "%c",a);
}

fclose(in);
fclose(out);

return 0;
}
[/code:1]
jel bi mogao netko biti tako dobar i objasnit mi zašto ovaj kod ne priznaje u zadaćama???

tekst zadatka
Napišite program koji čita datoteku "fzblai.in", te ju prepisuje u datoteku "fzblai.out" tako da u prepisivanju sva pojavljivanja stringa "oef" zamijeni stringom "erwwmti".
Napomena: Nemojte uvoditi ograničenja na duljinu datoteke i/ili pojedinih linija i riječi u datoteci.

Kod:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *in, *out;
    char a,b,c, *s;

    s = "erwwmti";

    if( (in=fopen("fzblai.in", "r")) == NULL) {printf ("Greska."); exit (1); }
    if( (out=fopen("fzblai.out", "w")) == NULL) {printf ("Greska."); exit (1);}

    while ((a=fgetc(in)) != EOF)
    {
        if (a=='o')
        {
            fscanf(in, "%c%c", &b,&c);
                if( b=='e' && c=='f') fprintf (out, "%s", s);
                else
                {
                    fprintf (out, "%c",a);
                    ungetc (c,in); ungetc(b,in);
                }
        }
     else fprintf (out, "%c",a);
    }

    fclose(in);
    fclose(out);

    return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
angelika
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 02. 2011. (17:26:51)
Postovi: (5F)16
Sarma = la pohva - posuda
= 3 - 1

PostPostano: 13:55 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="homoviator"]
pokušaj učitati u datoteci 'wwsv' , inače na ovu temu je već raspravljano ... pogledaj starije post-ove ... većina nas radi istu gresku na ovom zadatku, kako je asistent Šego rekao:" Ako prvo slovo nije dobro, ne znači da nije ni drugo...." ....
[/quote]

Dadada...to mi nije palo na pamet. Hvala
homoviator (napisa):

pokušaj učitati u datoteci 'wwsv' , inače na ovu temu je već raspravljano ... pogledaj starije post-ove ... većina nas radi istu gresku na ovom zadatku, kako je asistent Šego rekao:" Ako prvo slovo nije dobro, ne znači da nije ni drugo...." ....


Dadada...to mi nije palo na pamet. Hvala


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 14:23 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="true.false"]Oprostite zbog necitljivosti :oops:[/quote]

Nije problem... sebi uskratis pomoc (a meni manje posla, kad skuzim da je prenaporno za citati O:))

[quote="true.false"]kad sam radio program nisam mislio da ce to netko morati citati,[/quote]

Ovdje mnogi grijese. Svaki kod netko mora citati... barem autor programa. ;) Ako nije citljivo, desi se ovo:

[quote="true.false"]...[color=silver]ali[/color] kasnije [color=silver]kad[/color] vise nisam mogao pronaci gresku...[/quote]

[quote="true.false"]crticu ispred "datumi" sam ne znam zasto nisam stavio i kako je uopce radilo to bez crtice.. :?[/quote]

Wonders of the various compilers. Compiliralo je i meni, ali se rushilo ili javljalo cudne greske (ne sjecam se). Zato inzistiramo na standardu, jer za sve ostalo ce se desiti "nesto", sto obicno nije poznato sto.

Svi koje zanima zadatak s prepisivanjem datoteke uz zamjenu stringa, citajte po ovom topicu.

@izvanzemaljka: Po standardu, [tt]ungetc[/tt] moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).
true.false (napisa):
Oprostite zbog necitljivosti Embarassed


Nije problem... sebi uskratis pomoc (a meni manje posla, kad skuzim da je prenaporno za citati Angel)

true.false (napisa):
kad sam radio program nisam mislio da ce to netko morati citati,


Ovdje mnogi grijese. Svaki kod netko mora citati... barem autor programa. Wink Ako nije citljivo, desi se ovo:

true.false (napisa):
...ali kasnije kad vise nisam mogao pronaci gresku...


true.false (napisa):
crticu ispred "datumi" sam ne znam zasto nisam stavio i kako je uopce radilo to bez crtice.. Confused


Wonders of the various compilers. Compiliralo je i meni, ali se rushilo ili javljalo cudne greske (ne sjecam se). Zato inzistiramo na standardu, jer za sve ostalo ce se desiti "nesto", sto obicno nije poznato sto.

Svi koje zanima zadatak s prepisivanjem datoteke uz zamjenu stringa, citajte po ovom topicu.

@izvanzemaljka: Po standardu, ungetc moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
izvanzemaljka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 05. 2012. (13:40:59)
Postovi: (7)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 14:43 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote]Po standardu, [tt]ungetc[/tt] moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).[/quote]

a zašto mi onda ovaj kod ne prolazi? ovaj sam prvo ja napisala, pa mi nije priznat, pa sam kopirala od druge osobe-onaj prije-jer je toj osobi priznat; pa ne razumijem zašto ni jedan ne prihvaca

[code:1]#include<stdio.h>
#include<stdlib.h>

int main(){
FILE *in, *out;
char a, b, c;
in=fopen("fzblai.in","r");
out=fopen("fzblai.out","w");
while(fscanf(in,"%c",&a)>EOF){
if(a!='o') fprintf(out,"%c",a);
while(a=='o'){
fscanf(in,"%c",&b);
if(b!='e'&& b!='o'){
fprintf(out,"%c%c",a,b);break;
}
if(b=='o') {fprintf(out,"%c",a);a=b;}
if(b=='e'){
fscanf(in,"%c",&c);
if(c=='f'){
fprintf(out,"erwwmti");break;}
if(c!='f' && c!='o'){
fprintf(out,"%c%c%c",a,b,c);break;
}
if(c=='o'){
fprintf (out,"%c%c",a,b);
a=c;}
}
}}

fclose(in);
fclose(out);

return 0;
}
[/code:1][/quote]

[size=9][color=#999999]Added after 4 minutes:[/color][/size]

[quote="izvanzemaljka"][quote]Po standardu, [tt]ungetc[/tt] moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).[/quote]

a zašto mi onda ovaj kod ne prolazi? ovaj sam prvo ja napisala, pa mi nije priznat, pa sam kopirala od druge osobe-onaj prije-jer je toj osobi priznat; pa ne razumijem zašto ni jedan ne prihvaca
(zadatak je isti)

[code:1]#include<stdio.h>
#include<stdlib.h>

int main(){
FILE *in, *out;
char a, b, c;
in=fopen("fzblai.in","r");
out=fopen("fzblai.out","w");
while(fscanf(in,"%c",&a)>EOF){
if(a!='o') fprintf(out,"%c",a);
while(a=='o'){
fscanf(in,"%c",&b);
if(b!='e'&& b!='o'){
fprintf(out,"%c%c",a,b);break;
}
if(b=='o') {fprintf(out,"%c",a);a=b;}
if(b=='e'){
fscanf(in,"%c",&c);
if(c=='f'){
fprintf(out,"erwwmti");break;}
if(c!='f' && c!='o'){
fprintf(out,"%c%c%c",a,b,c);break;
}
if(c=='o'){
fprintf (out,"%c%c",a,b);
a=c;}
}
}}

fclose(in);
fclose(out);

return 0;
}
[/code:1][/quote][/quote]

[size=9][color=#999999]Added after 4 minutes:[/color][/size]

napomena: oba programa rade kako treba na mojim primjerima, i sa višestrukim istim prvim slovima, i takvim sličnim cakama
Citat:
Po standardu, ungetc moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).


a zašto mi onda ovaj kod ne prolazi? ovaj sam prvo ja napisala, pa mi nije priznat, pa sam kopirala od druge osobe-onaj prije-jer je toj osobi priznat; pa ne razumijem zašto ni jedan ne prihvaca

Kod:
#include<stdio.h>
#include<stdlib.h>

int main(){
    FILE *in, *out;
    char a, b, c;
    in=fopen("fzblai.in","r");
    out=fopen("fzblai.out","w");
    while(fscanf(in,"%c",&a)>EOF){
        if(a!='o') fprintf(out,"%c",a);
        while(a=='o'){
            fscanf(in,"%c",&b);
            if(b!='e'&& b!='o'){
                fprintf(out,"%c%c",a,b);break;
            }
            if(b=='o') {fprintf(out,"%c",a);a=b;}
        if(b=='e'){
            fscanf(in,"%c",&c);
            if(c=='f'){
                fprintf(out,"erwwmti");break;}
            if(c!='f' && c!='o'){
                fprintf(out,"%c%c%c",a,b,c);break;
            }
            if(c=='o'){
                fprintf (out,"%c%c",a,b);
                a=c;}
        }
    }}

    fclose(in);
    fclose(out);

    return 0;
}
[/quote]

Added after 4 minutes:

izvanzemaljka (napisa):
Citat:
Po standardu, ungetc moze vratiti samo jedan znak (tj. nije predvidjeno da ga se vise puta poziva).


a zašto mi onda ovaj kod ne prolazi? ovaj sam prvo ja napisala, pa mi nije priznat, pa sam kopirala od druge osobe-onaj prije-jer je toj osobi priznat; pa ne razumijem zašto ni jedan ne prihvaca
(zadatak je isti)

Kod:
#include<stdio.h>
#include<stdlib.h>

int main(){
    FILE *in, *out;
    char a, b, c;
    in=fopen("fzblai.in","r");
    out=fopen("fzblai.out","w");
    while(fscanf(in,"%c",&a)>EOF){
        if(a!='o') fprintf(out,"%c",a);
        while(a=='o'){
            fscanf(in,"%c",&b);
            if(b!='e'&& b!='o'){
                fprintf(out,"%c%c",a,b);break;
            }
            if(b=='o') {fprintf(out,"%c",a);a=b;}
        if(b=='e'){
            fscanf(in,"%c",&c);
            if(c=='f'){
                fprintf(out,"erwwmti");break;}
            if(c!='f' && c!='o'){
                fprintf(out,"%c%c%c",a,b,c);break;
            }
            if(c=='o'){
                fprintf (out,"%c%c",a,b);
                a=c;}
        }
    }}

    fclose(in);
    fclose(out);

    return 0;
}
[/quote]

Added after 4 minutes:

napomena: oba programa rade kako treba na mojim primjerima, i sa višestrukim istim prvim slovima, i takvim sličnim cakama


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 15:21 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Ta druga osoba je vjerojatno imala "srece" (verifikator testira stvari na random primjerima, sto znaci da "prihvaceni program" ne znaci nuzno i "skroz tocni program").

A tebi ne valja kad dodjes do kraja datoteke. Recimo, ako datoteka zavrsava na "o" ili "oe", tvoj bi program trebao krivo raditi. Moguce je i da taj slucaj smeta onoj prethodnoj varijanti (posto nije deifnirano kako se [tt]ungetc[/tt] ponasa kad ga se vise puta zove).
Ta druga osoba je vjerojatno imala "srece" (verifikator testira stvari na random primjerima, sto znaci da "prihvaceni program" ne znaci nuzno i "skroz tocni program").

A tebi ne valja kad dodjes do kraja datoteke. Recimo, ako datoteka zavrsava na "o" ili "oe", tvoj bi program trebao krivo raditi. Moguce je i da taj slucaj smeta onoj prethodnoj varijanti (posto nije deifnirano kako se ungetc ponasa kad ga se vise puta zove).



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
sasha.f
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 10. 2011. (20:04:19)
Postovi: (3D)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 15:35 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

5.1. zadatak, probano na dosta primjera i ne vidim što je krivo..

[code:1]#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *f, *g;
f=fopen("vczdc.in.txt", "rt");
if(f==NULL)
{
printf("Ne mogu otvoriti vczdc.in datoteku!\n");
exit(0);
}
g=fopen("vczdc.out.txt", "wt");
if(g==NULL)
{
printf("Ne mogu otvoriti vczdc.out datoteku.\n");
}
while(1)
{
char ch;
if(fscanf(f, "%c", &ch)!=1)
break;

if(ch != 'i' && ch!='j' && ch!='s' && ch!='x')
fprintf(g, "%c", ch);
}

fclose(f);
fclose(g);

return 0;
}[/code:1]
5.1. zadatak, probano na dosta primjera i ne vidim što je krivo..

Kod:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE *f, *g;
    f=fopen("vczdc.in.txt", "rt");
    if(f==NULL)
    {
        printf("Ne mogu otvoriti vczdc.in datoteku!\n");
        exit(0);
    }
    g=fopen("vczdc.out.txt", "wt");
    if(g==NULL)
    {
        printf("Ne mogu otvoriti vczdc.out datoteku.\n");
    }
    while(1)
    {
        char ch;
        if(fscanf(f, "%c", &ch)!=1)
        break;

        if(ch != 'i' && ch!='j' && ch!='s' && ch!='x')
        fprintf(g, "%c", ch);
    }

    fclose(f);
    fclose(g);

    return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 15:55 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Posto ne pise text zadatka, nemam blage.

Jedino vidim da se datoteke pogresno zovu i fali [tt]exit[/tt] kad datoteka za pisanje nije uspjesno otvorena.
Posto ne pise text zadatka, nemam blage.

Jedino vidim da se datoteke pogresno zovu i fali exit kad datoteka za pisanje nije uspjesno otvorena.



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
izvanzemaljka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 31. 05. 2012. (13:40:59)
Postovi: (7)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 18:25 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="vsego"]Ta druga osoba je vjerojatno imala "srece" (verifikator testira stvari na random primjerima, sto znaci da "prihvaceni program" ne znaci nuzno i "skroz tocni program").

A tebi ne valja kad dodjes do kraja datoteke. Recimo, ako datoteka zavrsava na "o" ili "oe", tvoj bi program trebao krivo raditi. Moguce je i da taj slucaj smeta onoj prethodnoj varijanti (posto nije deifnirano kako se [tt]ungetc[/tt] ponasa kad ga se vise puta zove).[/quote]

hvala :)
vsego (napisa):
Ta druga osoba je vjerojatno imala "srece" (verifikator testira stvari na random primjerima, sto znaci da "prihvaceni program" ne znaci nuzno i "skroz tocni program").

A tebi ne valja kad dodjes do kraja datoteke. Recimo, ako datoteka zavrsava na "o" ili "oe", tvoj bi program trebao krivo raditi. Moguce je i da taj slucaj smeta onoj prethodnoj varijanti (posto nije deifnirano kako se ungetc ponasa kad ga se vise puta zove).


hvala Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
PermutiranoPrase
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 09. 2011. (16:08:19)
Postovi: (F4)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
10 = 17 - 7

PostPostano: 18:55 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Pozdrav! Zašto moj program ne ispisuje ništa u out? Radi se o 3.zadatku iz zadaće, tipični s datumima.

[code:1]#include <stdio.h>
#include <stdlib.h>

typedef struct
{
int d, m, g, brojPonavljanja;
} datum;

int f ( datum d )
{
return 400*d.g + 31*d.m + d.d;
}

int main (void)
{

int n, i, j, d, m, g;
FILE *in, *out;
datum *polje;

// warning: assignment makes pointer from integer without a cast|
if ( (in = fopen ("xqgoq.in", "rt") == NULL ) ) exit (1);
if ( (out = fopen ("xqgoq.out", "wt") == NULL ) ) exit (2);

fscanf(in, "%d", &n);
polje = ( datum * ) malloc ( n * sizeof (datum) );

// ucitaj u niz od n elemenata sve datume, bez obzira ponavljaju li se
for (i = 0; i < n; ++i )
{
if ( fscanf ( in, "%d.%d.%d.", &d, &m, &g ) != 3 ) break;
polje[i].d = d;
polje[i].m = m;
polje[i].g = g;
polje[i].brojPonavljanja=1;

for ( j = 0; j < i; ++j )
{
// ako novouneseni datum vec imamo u polju, povecaj brojac od tog prvog, a novouneseni postavi na 0 (dosta je da samo dan postavimo)
if ( polje[j].d == polje[i].d && polje[j].m == polje[i].m && polje[j].g == polje[i].g )
{
polje[j].brojPonavljanja++;
polje[i].d = 0;
break; // ovo radi od prvog datuma, tako da cim nadjemo dupli mozemo prekinuti petlju }
}
}

// sort polja
datum temp;
for ( i = 0; i < n; ++i )
for ( j = 0; j < i; ++j )
if ( f (polje[i] ) > f ( polje[j] ) )
{
temp = polje[i];
polje[i] = polje[j];
polje[j] = temp;
}

// ispis u out, preskacemo sve datume kojima je dan = 0 (a time i sve ostalo)
for ( i = 0; i < n; ++i )
if ( polje[i].d != 0 ) fprintf (out, "%d#%d.%d.%d.\n", polje[i].brojPonavljanja, polje[i].d, polje[i].m, polje[i].g ) ;

fclose (in);
fclose (out);

return 0;
}


[/code:1]

Dobivam praznu datoteku bez obzira na ovaj zadnji uvjet if ( polje[i].d != 0 ), isto kao i kad maknem sort. Još mi i ovaj warning bude svaki put, što on točno znači? :?
Pozdrav! Zašto moj program ne ispisuje ništa u out? Radi se o 3.zadatku iz zadaće, tipični s datumima.

Kod:
#include <stdio.h>
#include <stdlib.h>

typedef struct
{
   int d, m, g, brojPonavljanja;
}   datum;

int f ( datum d )
{
  return 400*d.g + 31*d.m + d.d;
}

int main (void)
{

   int n, i, j, d, m, g;
   FILE *in, *out;
   datum *polje;

    // warning: assignment makes pointer from integer without a cast|
   if ( (in = fopen ("xqgoq.in", "rt") == NULL ) ) exit (1);
   if ( (out = fopen ("xqgoq.out", "wt") == NULL ) ) exit (2);

   fscanf(in, "%d", &n);
   polje = ( datum * ) malloc ( n * sizeof (datum) );

   // ucitaj u niz od n elemenata sve datume, bez obzira ponavljaju li se
   for (i = 0; i < n; ++i )         
   {
      if ( fscanf ( in, "%d.%d.%d.", &d, &m, &g ) != 3 ) break;
      polje[i].d = d;
      polje[i].m = m;
      polje[i].g = g;
      polje[i].brojPonavljanja=1;

      for ( j = 0; j < i; ++j )
      {
         // ako novouneseni datum vec imamo u polju, povecaj brojac od tog prvog, a novouneseni postavi na 0 (dosta je da samo dan postavimo)
         if ( polje[j].d == polje[i].d  &&  polje[j].m == polje[i].m && polje[j].g == polje[i].g  )         
         {
            polje[j].brojPonavljanja++;
            polje[i].d = 0;
            break;                                       // ovo radi od prvog datuma, tako da cim nadjemo dupli mozemo prekinuti petlju                                          }
      }
   }

   // sort polja
   datum temp;
   for ( i = 0; i < n; ++i )
      for ( j = 0; j < i; ++j )
         if ( f (polje[i] ) > f ( polje[j] ) )
         {
            temp = polje[i];
            polje[i] = polje[j];
            polje[j] = temp;
         }

   // ispis u out, preskacemo sve datume kojima je dan = 0 (a time i sve ostalo)
   for ( i = 0; i < n; ++i )
      if ( polje[i].d != 0 ) fprintf (out, "%d#%d.%d.%d.\n", polje[i].brojPonavljanja, polje[i].d, polje[i].m, polje[i].g ) ;

   fclose (in);
   fclose (out);

   return 0;
}




Dobivam praznu datoteku bez obzira na ovaj zadnji uvjet if ( polje[i].d != 0 ), isto kao i kad maknem sort. Još mi i ovaj warning bude svaki put, što on točno znači? Confused



_________________
With great power comes great electricity bill.
n!!!!
Theorem 2: Alexander the Great did not exist and he had an infinite number of limbs.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
El_Loco
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 05. 2012. (15:25:04)
Postovi: (31)16
Spol: muško
Sarma = la pohva - posuda
14 = 27 - 13

PostPostano: 20:39 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

probaj ovo

[code:1]if (((in = fopen ("xqgoq.in", "rt")) == NULL ) ) exit (1);
if (((out = fopen ("xqgoq.out", "wt")) == NULL ) ) exit (2);[/code:1]
probaj ovo

Kod:
if (((in = fopen ("xqgoq.in", "rt")) == NULL ) ) exit (1);
   if (((out = fopen ("xqgoq.out", "wt")) == NULL ) ) exit (2);


[Vrh]
Korisnički profil Pošaljite privatnu poruku
PermutiranoPrase
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 09. 2011. (16:08:19)
Postovi: (F4)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
10 = 17 - 7

PostPostano: 20:57 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Da, sad radi. Nisam ni vidila da je zagrada na malo krivom (tj. besmislenom) mjestu. Hvala! :D
Da, sad radi. Nisam ni vidila da je zagrada na malo krivom (tj. besmislenom) mjestu. Hvala! Very Happy



_________________
With great power comes great electricity bill.
n!!!!
Theorem 2: Alexander the Great did not exist and he had an infinite number of limbs.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 21:06 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="PermutiranoPrase"]Još mi i ovaj warning bude svaki put, što on točno znači?[/quote]
Pohvala za citanje warninga. S tim je bilo pristojno lako uhvatiti u cemu je problem. :naklon:

Evo i objasnjenja, za buduca pokoljenja:
[code:1]if ( (in = fopen ("xqgoq.in", "rt") == NULL ) ) exit (1);[/code:1]
je, zbog zagrada, ekvivalentno
[code:1]in = fopen ("xqgoq.in", "rt") == NULL;
if (in) exit (1);[/code:1]
Prva linije je, zbog prioriteta, ekvivalentna
[code:1]in = (fopen ("xqgoq.in", "rt") == NULL);[/code:1]
sto znaci da [b]pointeru[/b] [tt]in[/tt] pridruzujemo [b]cijeli broj[/b] (rezultat logickog izraza [tt]nesto == NULL[/tt]). Compiler to zna pretvoriti, ali vrlo ispravno sumnja da je autor programa to zaista htio, pa upozorava.

Kao sto vidite, warningi su vasi dobri prijatelji. ;)
PermutiranoPrase (napisa):
Još mi i ovaj warning bude svaki put, što on točno znači?

Pohvala za citanje warninga. S tim je bilo pristojno lako uhvatiti u cemu je problem. Zahvaljujem, postovani kolega!

Evo i objasnjenja, za buduca pokoljenja:
Kod:
if ( (in = fopen ("xqgoq.in", "rt") == NULL ) ) exit (1);

je, zbog zagrada, ekvivalentno
Kod:
in = fopen ("xqgoq.in", "rt") == NULL;
if (in) exit (1);

Prva linije je, zbog prioriteta, ekvivalentna
Kod:
in = (fopen ("xqgoq.in", "rt") == NULL);

sto znaci da pointeru in pridruzujemo cijeli broj (rezultat logickog izraza nesto == NULL). Compiler to zna pretvoriti, ali vrlo ispravno sumnja da je autor programa to zaista htio, pa upozorava.

Kao sto vidite, warningi su vasi dobri prijatelji. Wink



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
PermutiranoPrase
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 10. 09. 2011. (16:08:19)
Postovi: (F4)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
10 = 17 - 7

PostPostano: 21:22 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Build messages jesu jako dobri prijatelji, samo dobar dio vremena ne shvaćam što točno pokušavaju reći. Za errore je odmah jasno i oni su genijalni :anigrouphug: , ali obične warninge najčešće ne uspijem dešifrirati - najčešće mi se jave kad zagrada slučajno završi na krivom mjestu ili kada ne uključim potrebnu datoteku pa završim pola sata zureći u nešto što djeluje sasvim smisleno i mislim se 'što je pjesnik htio reći'. Kao sada. :)

P.S. Nije baš vezano uz temu ali aplikacija za zadaće ima [url=http://postimage.org/image/p0fotxgw7/]problema[/url] s Google Chromeom i obrnuto. Kad se klikne na polja za upisati JMBAG i password, ovaj prozorčić izleti preko polja pa se ne može ništa upisati.*

[size=9]*Da preciziram, može se, ali uz velike muke. Uspjela sam upisati i zapamtiti jmbag i username na svom laptopu prije par mjeseci, kad sam se prvi put logirala u sustav, ali nemam pojma kako mi je to uspjelo. [/size]
Build messages jesu jako dobri prijatelji, samo dobar dio vremena ne shvaćam što točno pokušavaju reći. Za errore je odmah jasno i oni su genijalni Group hug , ali obične warninge najčešće ne uspijem dešifrirati - najčešće mi se jave kad zagrada slučajno završi na krivom mjestu ili kada ne uključim potrebnu datoteku pa završim pola sata zureći u nešto što djeluje sasvim smisleno i mislim se 'što je pjesnik htio reći'. Kao sada. Smile

P.S. Nije baš vezano uz temu ali aplikacija za zadaće ima problema s Google Chromeom i obrnuto. Kad se klikne na polja za upisati JMBAG i password, ovaj prozorčić izleti preko polja pa se ne može ništa upisati.*

*Da preciziram, može se, ali uz velike muke. Uspjela sam upisati i zapamtiti jmbag i username na svom laptopu prije par mjeseci, kad sam se prvi put logirala u sustav, ali nemam pojma kako mi je to uspjelo.



_________________
With great power comes great electricity bill.
n!!!!
Theorem 2: Alexander the Great did not exist and he had an infinite number of limbs.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
purist
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 09. 2011. (23:16:53)
Postovi: (18)16
Spol: žensko
Sarma = la pohva - posuda
= 4 - 1

PostPostano: 22:38 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

ne znam jesam li mozda offtopic, ali zasto kad pokusavam uploadati rjesenje zadatku koji je vec prethodno bio krivi, uploadanje ne uspijeva? pise "uspjesno snimljeno 0 datoteka" ili tako nesto :S

i kad sam vec tu, ako ima koja dobra dusa, ovo bi stvarno trebalo biti dobro, i ne vidim gresku (i mozda je vec bilo slicnih, ali eto, mozda mi se posreci):

Napišite program koji učitava jednu liniju teksta s najviše 13868 znakova. Tom tekstu treba izbrisati svaku 7. riječ, a ostalima izokrenuti redoslijed slova (same riječi ostaju u originalnom poretku). Tako dobiveni tekst treba ispisati.
Možete pretpostaviti da tekst sadrži samo slova i razmake.

[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void vrti (char *t, int poc, int kraj) {
int i,n;

n=kraj-poc+1;
for (i=0; i<n/2; i++) {
char c;
c=t[poc+i];
t[poc+i]=t[kraj-i];
t[kraj-i]=c;
}
}

int main () {

int i,j,n,br,prviindex;
char s[13870];

gets(s);
br=0;
prviindex=0;
strcat(s," ");

for (i=0; s[i]!='\0'; i++) {

if (s[i]==' ') {
br++;
if (br%7!=0) {
vrti(s,prviindex,i-1);
prviindex=i+1;
}
else {
for (j=prviindex; s[j+i-prviindex]!='\0'; j++)
s[j]=s[j+i+1-prviindex];

i=prviindex;
}
}

}
while (s[strlen(s)-1]==' ') s[strlen(s)-1]='\0';
puts(s);

return 0;
}
[/code:1]

malo je hica, jel? :P
ne znam jesam li mozda offtopic, ali zasto kad pokusavam uploadati rjesenje zadatku koji je vec prethodno bio krivi, uploadanje ne uspijeva? pise "uspjesno snimljeno 0 datoteka" ili tako nesto :S

i kad sam vec tu, ako ima koja dobra dusa, ovo bi stvarno trebalo biti dobro, i ne vidim gresku (i mozda je vec bilo slicnih, ali eto, mozda mi se posreci):

Napišite program koji učitava jednu liniju teksta s najviše 13868 znakova. Tom tekstu treba izbrisati svaku 7. riječ, a ostalima izokrenuti redoslijed slova (same riječi ostaju u originalnom poretku). Tako dobiveni tekst treba ispisati.
Možete pretpostaviti da tekst sadrži samo slova i razmake.

Kod:

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

void vrti (char *t, int poc, int kraj) {
    int i,n;

    n=kraj-poc+1;
    for (i=0; i<n/2; i++) {
        char c;
        c=t[poc+i];
        t[poc+i]=t[kraj-i];
        t[kraj-i]=c;
    }
}

int main () {

    int i,j,n,br,prviindex;
    char s[13870];

    gets(s);
    br=0;
    prviindex=0;
    strcat(s," ");

    for (i=0; s[i]!='\0'; i++) {

        if (s[i]==' ') {
            br++;
            if (br%7!=0) {
                vrti(s,prviindex,i-1);
                prviindex=i+1;
            }
            else {
                for (j=prviindex; s[j+i-prviindex]!='\0'; j++)
                    s[j]=s[j+i+1-prviindex];

                i=prviindex;
            }
        }

        }
    while (s[strlen(s)-1]==' ') s[strlen(s)-1]='\0';
    puts(s);

    return 0;
}


malo je hica, jel? Razz


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 22:57 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="purist"]ne znam jesam li mozda offtopic, ali zasto kad pokusavam uploadati rjesenje zadatku koji je vec prethodno bio krivi, uploadanje ne uspijeva? pise "uspjesno snimljeno 0 datoteka" ili tako nesto :S[/quote]

To znaci da uploadas neizmijenjeni kod, pa aplikaicja odbija ponovo snimiti ono sto vec ima.

A kod ti ne valja jer uzastopne razmake tretira kao rijeci duljine nula. Ima dosta objasnjenja ovoga na Forumu, a i na predavanjima je radjen zadatak koji barata s rijecima.

@PermutiranoPrase: hvala za report o Chromeu s poteskocama u razvoju. Sredim kad stignem; sad vise nije hitno... :)

[b]Edit:[/b] Sredih. 8) Bedasti Chrome, pravio se pametan... :roll:
purist (napisa):
ne znam jesam li mozda offtopic, ali zasto kad pokusavam uploadati rjesenje zadatku koji je vec prethodno bio krivi, uploadanje ne uspijeva? pise "uspjesno snimljeno 0 datoteka" ili tako nesto :S


To znaci da uploadas neizmijenjeni kod, pa aplikaicja odbija ponovo snimiti ono sto vec ima.

A kod ti ne valja jer uzastopne razmake tretira kao rijeci duljine nula. Ima dosta objasnjenja ovoga na Forumu, a i na predavanjima je radjen zadatak koji barata s rijecima.

@PermutiranoPrase: hvala za report o Chromeu s poteskocama u razvoju. Sredim kad stignem; sad vise nije hitno... Smile

Edit: Sredih. Cool Bedasti Chrome, pravio se pametan... Rolling Eyes



_________________
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.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
purist
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 20. 09. 2011. (23:16:53)
Postovi: (18)16
Spol: žensko
Sarma = la pohva - posuda
= 4 - 1

PostPostano: 23:15 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

posrecilo mi se, hvala! :)
sad jos nekako i stignem ispravit...
posrecilo mi se, hvala! Smile
sad jos nekako i stignem ispravit...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3 ... , 11, 12, 13  Sljedeće
Stranica 12 / 13.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan