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

Zadace s weba
WWW:
Idite na Prethodno  1, 2, 3, 4, 5  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
CROmpir
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 09. 2009. (18:27:06)
Postovi: (B3)16
Sarma = la pohva - posuda
= 7 - 2

PostPostano: 15:46 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

Moze li mi netko pomoci oko ovog zadatka, na kompu mi radi sve oke, no aplikacija za zadace ne prihvaca program...


Napišite program koji učitava jednu liniju teksta s najviše 15115 znakova. Tom tekstu treba izbrisati svaku 5. 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 <string.h>
#include <ctype.h>


void brisi ( char a[], int kraj1, char c[], int pocetak, int kraj ){
int i;

for (i=pocetak; i<=kraj; i++) {
a[kraj1++]=c[i];
}
}

void invert ( char *a, int pocetak, int kraj ){
int t, i;
char temp;
t=kraj;
for (i=pocetak; i<(pocetak+(kraj+1))/2; i++){
temp=a[i];
a[i]=a[t];
a[t]=temp;
t--;
}
}

void funkcija ( char a[] ){

int i=0, broj=0, razmak=1, z, brSlova=0, j=0;

while (a[i]){

if (a[i]==' ' || a[i]=='\t') razmak=1;

if (razmak==1 && isalpha(a[i])!=0){

broj++;

for (z=i; isalpha(a[z])!=0; z++) brSlova++;

invert(a,i,i+(brSlova-1));

if ((broj)%5==0){

brisi(a,i, a, i+brSlova, strlen(a));

}

razmak=0;

brSlova=0;



}
i++;

}
}

int main(){

char a[15116];

scanf("%[^\n]", a);

funkcija(a);

printf("%s", a);

return 0;
}

[/code:1]
Moze li mi netko pomoci oko ovog zadatka, na kompu mi radi sve oke, no aplikacija za zadace ne prihvaca program...


Napišite program koji učitava jednu liniju teksta s najviše 15115 znakova. Tom tekstu treba izbrisati svaku 5. 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 <string.h>
#include <ctype.h>


void brisi ( char a[], int kraj1, char c[], int pocetak, int kraj ){
        int i;

        for (i=pocetak; i<=kraj; i++) {
          a[kraj1++]=c[i];
        }
}

void invert ( char *a, int pocetak, int kraj ){
      int t, i;
      char temp;
      t=kraj;
      for (i=pocetak; i<(pocetak+(kraj+1))/2; i++){
         temp=a[i];
         a[i]=a[t];
         a[t]=temp;
         t--;
      }
}

void funkcija ( char a[] ){

        int i=0, broj=0, razmak=1, z, brSlova=0, j=0;

           while (a[i]){

              if (a[i]==' ' || a[i]=='\t') razmak=1;

              if (razmak==1 && isalpha(a[i])!=0){

                     broj++;

                     for (z=i; isalpha(a[z])!=0; z++) brSlova++;

                     invert(a,i,i+(brSlova-1));

                     if ((broj)%5==0){

                     brisi(a,i, a, i+brSlova, strlen(a));

                     }

                     razmak=0;

                     brSlova=0;



                   }
            i++;

           }
}

int main(){

     char a[15116];

     scanf("%[^\n]", a);

     funkcija(a);

     printf("%s", a);

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: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 7:49 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="CROmpir"]Moze li mi netko pomoci oko ovog zadatka, na kompu mi radi sve oke, no aplikacija za zadace ne prihvaca program...[/quote]

Na mom kompu ne radi dobro. Npr. za
[code:1]prva druga treca cetvrta peta sesta sedma osma deveta deseta jedanaesta dvanaesta trinaesta cetrnaesta petnaesta sesnaesta sedamnaesta osamnaesta devetnaesta dvadeseta[/code:1]
mi vraca
[code:1]avrp agurd acert atrvtec sesta amdes amso ateved atesed dvanaesta atseanirt atseanrtec atseantep atseanses osamnaesta atseanteved atesedavd[/code:1]
sto znaci da je obrisao petu, jedanaestu i sedamnaestu rijec, a to nije bas "svaka peta", nego "svaka sesta pocevsi od pete".
CROmpir (napisa):
Moze li mi netko pomoci oko ovog zadatka, na kompu mi radi sve oke, no aplikacija za zadace ne prihvaca program...


Na mom kompu ne radi dobro. Npr. za
Kod:
prva druga treca cetvrta peta sesta sedma osma deveta deseta jedanaesta dvanaesta trinaesta cetrnaesta petnaesta sesnaesta sedamnaesta osamnaesta devetnaesta dvadeseta

mi vraca
Kod:
avrp agurd acert atrvtec  sesta amdes amso ateved atesed  dvanaesta atseanirt atseanrtec atseantep atseanses  osamnaesta atseanteved atesedavd

sto znaci da je obrisao petu, jedanaestu i sedamnaestu rijec, a to nije bas "svaka peta", nego "svaka sesta pocevsi od pete".



_________________
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
kikzmyster
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 10. 2010. (13:35:08)
Postovi: (72)16
Spol: muško
Sarma = la pohva - posuda
45 = 46 - 1

PostPostano: 22:28 ned, 17. 4. 2011    Naslov: Citirajte i odgovorite

zadatak: Napišite program koji učitava jednu riječ s najviše 13481 znakova, te ispisuje koliko se puta u toj riječi pojavljuje podstring "ac".

ja sam poslao :
[code:1]
#include<stdio.h>
#include<string.h>
int main(void)
{
char s[13482],i;
int br=0,length;

scanf("%s",s);
length=strlen(s);
for (i=0;i<length;i++)
if ((s[i]=='a')&&(s[i+1]=='c')) br++;
printf("%d",br);
return 0;
}
[/code:1]

ali mi javlja gresku. moze samo neki kripticni hint gdje sam fulao ili izostavio nesto? :D
zadatak: Napišite program koji učitava jednu riječ s najviše 13481 znakova, te ispisuje koliko se puta u toj riječi pojavljuje podstring "ac".

ja sam poslao :
Kod:

#include<stdio.h>
#include<string.h>
int main(void)
{
char s[13482],i;
int br=0,length;

scanf("%s",s);
length=strlen(s);
for (i=0;i<length;i++)
    if ((s[i]=='a')&&(s[i+1]=='c')) br++;
printf("%d",br);
return 0;
}


ali mi javlja gresku. moze samo neki kripticni hint gdje sam fulao ili izostavio nesto? Very Happy


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


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 23:04 ned, 17. 4. 2011    Naslov: Citirajte i odgovorite

EDIT: Greška. Nisam ni vidio kakva je varijabla i. :zbunjen:
Ali zato je lijepo vidjeti i opis rada programa u ovakvom slučaju! :)
EDIT: Greška. Nisam ni vidio kakva je varijabla i. Zbunjen
Ali zato je lijepo vidjeti i opis rada programa u ovakvom slučaju! Smile




Zadnja promjena: Phoenix; 0:14 pon, 18. 4. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


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

PostPostano: 23:34 ned, 17. 4. 2011    Naslov: Citirajte i odgovorite

Stavio si da ti je [tt]i[/tt] tipa [tt]char[/tt], sto je jedan byte, pa ti u njega ne stanu indexi koji trebaju. Dapace, ocekujem da zavrsi u beskonacnoj petlji (sto verifikator onda umlati i prijavi gresku).
Stavio si da ti je i tipa char, sto je jedan byte, pa ti u njega ne stanu indexi koji trebaju. Dapace, ocekujem da zavrsi u beskonacnoj petlji (sto verifikator onda umlati i prijavi gresku).



_________________
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
kikzmyster
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 10. 2010. (13:35:08)
Postovi: (72)16
Spol: muško
Sarma = la pohva - posuda
45 = 46 - 1

PostPostano: 19:18 pon, 18. 4. 2011    Naslov: Citirajte i odgovorite

ma da, hvala!

meni su test primjeri radili,ali to su ocito bili vrlo kratki stringovi. da,evo sad je tocno. opet, hvala puno
ma da, hvala!

meni su test primjeri radili,ali to su ocito bili vrlo kratki stringovi. da,evo sad je tocno. opet, hvala puno


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


Pridružen/a: 18. 05. 2010. (22:18:01)
Postovi: (AB)16
Spol: žensko
Sarma = la pohva - posuda
= 14 - 11

PostPostano: 20:39 sub, 30. 4. 2011    Naslov: Citirajte i odgovorite

Moze pomc oko zadatka. Napravila sam rjesenje tako da na mjesto izbrisanih rijeci dolazi sljedeca rijec no aplikacija mi ne prihvaca rjesenje.

[code:1]
/*
Napišite program koji u�itava jednu liniju teksta s najviše 15486 znakova.
Tom tekstu treba izbrisati svaku 5. 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.
*/

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

void preokreni ( char *a, int stari, int novi){

int temp;

while (stari < novi) {

temp = a[ stari ];
a[ stari ] = a[ novi ];
a[ novi ]= temp;
stari++;
novi--;

}
}

int main(){

char a[15490], b[15490];
int stari, novi, i, brRijeci = 0, zadnji = 0;

gets(a);

for ( novi = 0; a[novi] != '\0'; novi ++){

while (isblank(a[novi])){
b [zadnji++] = a[novi++];
}

brRijeci++;


stari = novi;

while (isalpha(a[novi]))
novi++;

preokreni(a, stari, novi - 1);

if (brRijeci % 5 != 0) {

i = 0;

while (stari + i <= novi) {
b [zadnji + i] = a [stari + i];
i++;
}
zadnji+=i;
}
}




puts(b);
return 0;

}
[/code:1]
Moze pomc oko zadatka. Napravila sam rjesenje tako da na mjesto izbrisanih rijeci dolazi sljedeca rijec no aplikacija mi ne prihvaca rjesenje.

Kod:

/*
 NapiÅ¡ite program koji uÄ�itava jednu liniju teksta s najviÅ¡e 15486 znakova.
 Tom tekstu treba izbrisati svaku 5. 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.
*/

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

void preokreni ( char *a, int stari, int novi){
   
   int temp;

   while (stari < novi) {
      
      temp = a[ stari ];
      a[ stari ] = a[ novi ];
      a[ novi ]= temp;
      stari++;
      novi--;
      
   }
}

 int main(){

   char a[15490], b[15490];
   int stari, novi, i, brRijeci = 0, zadnji = 0;
   
    gets(a);
   
    for ( novi = 0; a[novi] != '\0'; novi ++){
      
       while (isblank(a[novi])){
          b [zadnji++] = a[novi++];
       }
      
       brRijeci++;
      
         
          stari = novi;
         
       while (isalpha(a[novi]))
          novi++;
      
       preokreni(a, stari, novi - 1);
   
       if (brRijeci % 5 != 0) {
         
          i = 0;
         
          while (stari + i <= novi) {
             b [zadnji + i] = a [stari + i];
             i++;
          }
          zadnji+=i;
       }
    }
   
   
         
   
    puts(b);
    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: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 1:30 ned, 1. 5. 2011    Naslov: Citirajte i odgovorite

String [tt]b[/tt] nije propisno terminiran null-characterom.
String b nije propisno terminiran null-characterom.



_________________
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
A-tom
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 05. 2010. (22:18:01)
Postovi: (AB)16
Spol: žensko
Sarma = la pohva - posuda
= 14 - 11

PostPostano: 9:48 ned, 1. 5. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]String [tt]b[/tt] nije propisno terminiran null-characterom.[/quote]

Na nacin da izvan for petlje stavim [code:1]b[zadnji+1] = '\0';[/code:1]?
Ako je to tocno, niti to mi ne prihvaca.
vsego (napisa):
String b nije propisno terminiran null-characterom.


Na nacin da izvan for petlje stavim
Kod:
b[zadnji+1] = '\0';
?
Ako je to tocno, niti to mi ne prihvaca.


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


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

PostPostano: 13:02 ned, 1. 5. 2011    Naslov: Citirajte i odgovorite

Meni se cini da bi trebalo ici na mjesto [tt]zadnji[/tt], a ne [tt]zadnji+1[/tt].

Zamisli si da ide jos jedan korak petlje. Iduce pisanje ce biti
[tt]b [zadnji++] = a[novi++];[/tt]
sto zapravo zapisuje na poziciju [tt]zadnji[/tt] i tek nakon toga povecava tu varijablu (i.e. [tt]zadnji[/tt] je prva lokacija na koju nije nista zapisano ilitiga prva iduca lokacija za zapisivanje).
Meni se cini da bi trebalo ici na mjesto zadnji, a ne zadnji+1.

Zamisli si da ide jos jedan korak petlje. Iduce pisanje ce biti
b [zadnji++] = a[novi++];
sto zapravo zapisuje na poziciju zadnji i tek nakon toga povecava tu varijablu (i.e. zadnji je prva lokacija na koju nije nista zapisano ilitiga prva iduca lokacija za zapisivanje).



_________________
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
A-tom
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 05. 2010. (22:18:01)
Postovi: (AB)16
Spol: žensko
Sarma = la pohva - posuda
= 14 - 11

PostPostano: 20:30 pon, 2. 5. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]Meni se cini da bi trebalo ici na mjesto [tt]zadnji[/tt], a ne [tt]zadnji+1[/tt].

Zamisli si da ide jos jedan korak petlje. Iduce pisanje ce biti
[tt]b [zadnji++] = a[novi++];[/tt]
sto zapravo zapisuje na poziciju [tt]zadnji[/tt] i tek nakon toga povecava tu varijablu (i.e. [tt]zadnji[/tt] je prva lokacija na koju nije nista zapisano ilitiga prva iduca lokacija za zapisivanje).[/quote]

Isla sam s opcijom b[zadni] = '\0'; i opet ne prihvaca. Ima li mozda neka, oku nevidljiva pri compailiranju, pogreska?
vsego (napisa):
Meni se cini da bi trebalo ici na mjesto zadnji, a ne zadnji+1.

Zamisli si da ide jos jedan korak petlje. Iduce pisanje ce biti
b [zadnji++] = a[novi++];
sto zapravo zapisuje na poziciju zadnji i tek nakon toga povecava tu varijablu (i.e. zadnji je prva lokacija na koju nije nista zapisano ilitiga prva iduca lokacija za zapisivanje).


Isla sam s opcijom b[zadni] = '\0'; i opet ne prihvaca. Ima li mozda neka, oku nevidljiva pri compailiranju, pogreska?


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


Pridružen/a: 11. 01. 2011. (16:42:01)
Postovi: (9)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 15:43 ned, 8. 5. 2011    Naslov: Citirajte i odgovorite

Imam poteškoća s ovim zadatkom:

Napišite program koji učitava jednu liniju teksta s najviše 17 393 znakova. Tom tekstu treba izbrisati svaku 6. 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.

Čini mi se da na mom kompu radi, ali aplikacija za zadaće kaže da nije dobro, pa molim za pomoć jer ne znam u čemu stalno griješim.

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

void okreni(char string[], int pocetak, int kraj)
{
int i, j=0;
char t;

for(i=pocetak; i<(pocetak+kraj)/2; ++i)
{
t=string[i];
string[i]=string[kraj-1-j];
string[kraj-1-j]=t;

++j;
}
}

void brisi(char string[], int pocetak, int kraj)
{
int i;

for(i=kraj+1; string[i]; ++i)
string[pocetak++]=string[i];

string[pocetak]='\0';
}

int main(void)
{
char string[17394];
int brojac=0, i=0, pocetak=0;

scanf("%[^\n]", string);

while(string[i])
{
if(string[i]==' ')
{
++brojac;

if(brojac%6)
{
okreni(string, pocetak, i);
pocetak=i+1;
}
else
{
brisi(string, pocetak, i);
i=pocetak-1;
}
}

++i;
}

++brojac;
if(brojac%6)
{
okreni(string, pocetak, i);
}
else
{
string[pocetak]='\0';
}

printf("%s", string);
return 0;
}
[/code:1]
Imam poteškoća s ovim zadatkom:

Napišite program koji učitava jednu liniju teksta s najviše 17 393 znakova. Tom tekstu treba izbrisati svaku 6. 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.

Čini mi se da na mom kompu radi, ali aplikacija za zadaće kaže da nije dobro, pa molim za pomoć jer ne znam u čemu stalno griješim.

Kod:

#include <stdio.h>

void okreni(char string[], int pocetak, int kraj)
{
    int i, j=0;
    char t;

    for(i=pocetak; i<(pocetak+kraj)/2; ++i)
    {
        t=string[i];
        string[i]=string[kraj-1-j];
        string[kraj-1-j]=t;

        ++j;
    }
}

void brisi(char string[], int pocetak, int kraj)
{
    int i;

    for(i=kraj+1; string[i]; ++i)
        string[pocetak++]=string[i];

    string[pocetak]='\0';
}

int main(void)
{
    char string[17394];
    int brojac=0, i=0, pocetak=0;

    scanf("%[^\n]", string);

    while(string[i])
    {
        if(string[i]==' ')
        {
            ++brojac;

            if(brojac%6)
            {
                okreni(string, pocetak, i);
                pocetak=i+1;
            }
            else
            {
                brisi(string, pocetak, i);
                i=pocetak-1;
            }
        }

        ++i;
    }

    ++brojac;
    if(brojac%6)
    {
        okreni(string, pocetak, i);
    }
    else
    {
        string[pocetak]='\0';
    }

    printf("%s", string);
    return 0;
}


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


Pridružen/a: 11. 07. 2009. (10:29:44)
Postovi: (128)16
Spol: muško
Sarma = la pohva - posuda
29 = 37 - 8

PostPostano: 15:50 ned, 8. 5. 2011    Naslov: Citirajte i odgovorite

čini mi se da smije bit više od jednog razmaka između riječi.
čini mi se da smije bit više od jednog razmaka između riječi.



_________________
No, you clearly don’t know who you’re talking to, so let me clue you in: I am not in danger, Skylar. I am the danger. A guy opens his door and gets shot and you think that of me? No. I am the one who knocks.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Stuart
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 01. 2011. (16:42:01)
Postovi: (9)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 16:27 ned, 8. 5. 2011    Naslov: Citirajte i odgovorite

[quote="pravipurger"]čini mi se da smije bit više od jednog razmaka između riječi.[/quote]

Hvala na pomoći! :) To je sad ispravljeno, ali opet ne radi.
Smije li razmak doći na početak i kraj teksta?
pravipurger (napisa):
čini mi se da smije bit više od jednog razmaka između riječi.


Hvala na pomoći! Smile To je sad ispravljeno, ali opet ne radi.
Smije li razmak doći na početak i kraj teksta?


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


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 16:43 ned, 8. 5. 2011    Naslov: Citirajte i odgovorite

[quote="Stuart"]Smije li razmak doći na početak i kraj teksta?[/quote]

naravno 8)
Stuart (napisa):
Smije li razmak doći na početak i kraj teksta?


naravno Cool



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Sekanta
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 09. 2009. (10:14:33)
Postovi: (48)16
Sarma = la pohva - posuda
= 6 - 1

PostPostano: 16:25 sri, 11. 5. 2011    Naslov: Citirajte i odgovorite

Moze help na ovom zadatku?
[code:1]
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>

/*Zadatak 2:
Napišite program koji učitava jednu liniju teksta s najviše 14335 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.*/

char* okreni(char novi[],int n)
{
int i,t,p=n-1;
for(i=0;i<n/2;++i)
{
t=novi[i];
novi[i]=novi[p];
novi[p]=t;
p--;
}
novi[n]='\0';
return novi;
}

int main(){
int i,j=0,pocetak,k,predzadnji=0,zadnji,vrati_i=0,n=0;
char string[14336],novi[14336],*zavrsni, razmak[2];


scanf(" %[^\n]",string);

zavrsni=(char*)malloc(14336*sizeof(char));
zavrsni[0]='\0';

for(pocetak=0; pocetak<14336;pocetak++)
if(string[pocetak]!=' ') break;

for(i=pocetak; string[i]!='\0';++i)
{
if(!isalpha(string[i]))
{
++j;
zadnji=i;
vrati_i=predzadnji;

if(j%7==0)
{
for(k=i;string[k]!='\0';k++)
{
string[predzadnji]=string[k];
predzadnji++;
}
string[predzadnji]='\0';
i=vrati_i;
}
predzadnji=zadnji;
}
}

razmak[0]=' ';
razmak[1]='\0';

for(i=pocetak;string[i]!='\0';++i)
{
if(isalpha(string[i]))
novi[n++]=string[i];


if(!isalpha(string[i]) || string[i+1]=='\0')
{
okreni(novi,n);
n=0;

strcat(zavrsni,novi);
if(string[i]!='\0')
strcat(zavrsni,razmak);
}
}

if(string[0]==' ')
printf("%s",razmak);

printf("%s\n",zavrsni);

system("pause");
return 0;
}
[/code:1]
Moze help na ovom zadatku?
Kod:

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

/*Zadatak 2:
Napišite program koji učitava jednu liniju teksta s najviše 14335 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.*/

char* okreni(char novi[],int n)
{   
     int i,t,p=n-1;
     for(i=0;i<n/2;++i)
     {
            t=novi[i];
            novi[i]=novi[p];
            novi[p]=t;
            p--;         
     }
     novi[n]='\0';
     return novi;
}

int main(){
    int i,j=0,pocetak,k,predzadnji=0,zadnji,vrati_i=0,n=0;
    char string[14336],novi[14336],*zavrsni, razmak[2];
   
   
    scanf(" %[^\n]",string);
   
    zavrsni=(char*)malloc(14336*sizeof(char));
    zavrsni[0]='\0';
   
    for(pocetak=0; pocetak<14336;pocetak++)
      if(string[pocetak]!=' ') break;         
   
    for(i=pocetak; string[i]!='\0';++i)
    {   
         if(!isalpha(string[i]))
         {   
             ++j;
            zadnji=i;
            vrati_i=predzadnji;
   
             if(j%7==0)
             {                                   
                        for(k=i;string[k]!='\0';k++) 
                        {
                             string[predzadnji]=string[k];
                             predzadnji++;
                        }
                        string[predzadnji]='\0';
               i=vrati_i;         
             }
             predzadnji=zadnji;
         }
    }
   
    razmak[0]=' ';
    razmak[1]='\0';
   
    for(i=pocetak;string[i]!='\0';++i)
    {   
        if(isalpha(string[i]))
            novi[n++]=string[i];                 
           
           
        if(!isalpha(string[i]) || string[i+1]=='\0')
        {
           okreni(novi,n);
           n=0;
           
            strcat(zavrsni,novi);
            if(string[i]!='\0')
            strcat(zavrsni,razmak);     
        }                                                   
     }
   
      if(string[0]==' ')
          printf("%s",razmak);                 
         
    printf("%s\n",zavrsni);
   
    system("pause");
    return 0;
    }


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


Pridružen/a: 19. 05. 2010. (08:43:59)
Postovi: (1B2)16
Spol: zombi
Sarma = la pohva - posuda
64 = 72 - 8

PostPostano: 17:37 sri, 11. 5. 2011    Naslov: Citirajte i odgovorite

Malo blesavo pitanje ali u zadatku kada treba izbrisati svaku sestu rijec, ako je uneseni tekst recimo ovaj:

"prva druga treca cetvrta peta sesta sedma"

Koji bi trebao biti ispis, tj zanima me sta se tocno dogadja sa razmacima?

Da li ovako:

"avrp agurd acert atrvtec atep amdes"

ili ovako:
"avrp agurd acert atrvtec atep amdes" ?

ili nesto sasvim trece??

Hvala
Malo blesavo pitanje ali u zadatku kada treba izbrisati svaku sestu rijec, ako je uneseni tekst recimo ovaj:

"prva druga treca cetvrta peta sesta sedma"

Koji bi trebao biti ispis, tj zanima me sta se tocno dogadja sa razmacima?

Da li ovako:

"avrp agurd acert atrvtec atep amdes"

ili ovako:
"avrp agurd acert atrvtec atep amdes" ?

ili nesto sasvim trece??

Hvala


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


Pridružen/a: 11. 01. 2011. (16:42:01)
Postovi: (9)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 18:07 sri, 11. 5. 2011    Naslov: Citirajte i odgovorite

[quote="kkarlo"]Koji bi trebao biti ispis, tj zanima me sta se tocno dogadja sa razmacima?
[/quote]

Na mjesto izbrisane riječi dolazi sljedeća riječ. Dakle, brišu se svi razmaci iza riječi koju treba obrisati.
kkarlo (napisa):
Koji bi trebao biti ispis, tj zanima me sta se tocno dogadja sa razmacima?


Na mjesto izbrisane riječi dolazi sljedeća riječ. Dakle, brišu se svi razmaci iza riječi koju treba obrisati.


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


Pridružen/a: 19. 05. 2010. (08:43:59)
Postovi: (1B2)16
Spol: zombi
Sarma = la pohva - posuda
64 = 72 - 8

PostPostano: 14:27 čet, 12. 5. 2011    Naslov: Citirajte i odgovorite

Nije mi jasno...

U cetvrtoj zadaci u drugom zadatku, radi se provjera sa stringom od 15200 znakova, nekad od 15220 znakova, uglavnom sa vise znakova nego je zadano u zadatku...a u zadatku mi pise da se ucitava linija teksta od 15174 znaka...
Mislim stavio sam nakon ucitavanja provjeru koliko je dugacak string, ako je duljina 15175, da na to mjesto stavi '\0', ali i dalje nece...
da li mozda tu nastaje problem ili sta? Jer program dela da bolje nemoze :lol:
Sam me zanima dal je to mozda problem ne prihvacanja programa...?
Nije mi jasno...

U cetvrtoj zadaci u drugom zadatku, radi se provjera sa stringom od 15200 znakova, nekad od 15220 znakova, uglavnom sa vise znakova nego je zadano u zadatku...a u zadatku mi pise da se ucitava linija teksta od 15174 znaka...
Mislim stavio sam nakon ucitavanja provjeru koliko je dugacak string, ako je duljina 15175, da na to mjesto stavi '\0', ali i dalje nece...
da li mozda tu nastaje problem ili sta? Jer program dela da bolje nemoze Laughing
Sam me zanima dal je to mozda problem ne prihvacanja programa...?


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


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

PostPostano: 16:43 čet, 12. 5. 2011    Naslov: Citirajte i odgovorite

Ne, string biva dugacak tocno kako pise u zadatku. Upravo sam provjerio tvoj zadnji protuprimjer i ispravne je duljine (tocno 15174 znaka).

Vidi s nekim demosom da ti pokusa pomoci, pa ako ne ide, javi se kako pise u uputi aplikacije. Mozemo se i naci IRL (konzultacije), ako treba.
Ne, string biva dugacak tocno kako pise u zadatku. Upravo sam provjerio tvoj zadnji protuprimjer i ispravne je duljine (tocno 15174 znaka).

Vidi s nekim demosom da ti pokusa pomoci, pa ako ne ide, javi se kako pise u uputi aplikacije. Mozemo se i naci IRL (konzultacije), ako treba.



_________________
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
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, 4, 5  Sljedeće
Stranica 3 / 5.

 
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