Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 25. 01. 2011 18:27

misaj
Zelenáč
Příspěvky: 22
Reputace:   
 

C - zalamovani řádků

Dobrý den, měla bych  v C napsat progam, který zalomí řádek před posledním nemezerovým znakem před daným počtem (já si zvolila 20)
Chtěla jsem postupovat tak, že si pomocí getchar načtu znaku do vstupu do té doby, než tam bude mezera. rovnou je budu vypisovat. Budu také počítat počet znaků. když tam bude mezera, tak si znaky za ní budu ukládat do stringu, do té doby, než dojdu s počtem znaků ke dvacítce.Řeším ovšem problém, co dělat, když tam budou další mezery a jak celý tento postup vlastně zapsat. toto jsem zatím stvořila(jetoho opravdu málo) a nevím, co dál:
#include <stdio.h>

#define ZALOM 20

int main (void)
{
    int c,i;
    char znaky[ZALOM];

    while ((c=getchar()) != '@')
    {
        if( c!= ' ')
        {
            putchar(c);
            ++i;
        }
        else if (c == ' ')
        {
            /*zde bych chtela nacitat do toho pole */

        }
        printf("\n%s", znaky);
    }
}

Offline

 

#2 25. 01. 2011 19:39

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: C - zalamovani řádků

Podobny priklad se resil tady na foru, ale mozna je to jiny zpusob zalamovani. Nevim, jestli spravne rozumim, kde se to ma presne zalamovat. Kdyz budes mit retezec treba:
"1234567890 0123456789012" tak ma se to zalomit jakoby v te mezere, takze vznikne:

"1234567890"
"0123456789012"

anebo se to ma zalomit presne po tech 20 znacich takhle? :

"1234567890 012345678"
"9012"

Offline

 

#3 25. 01. 2011 19:40

misaj
Zelenáč
Příspěvky: 22
Reputace:   
 

Re: C - zalamovani řádků

↑ Lumikodlak:
Omlouvám se, že jsem se špatně vyjádřila. Má se to zalamovat v mezeře. Děkuji za odkaz, podívám se na to

Offline

 

#4 25. 01. 2011 22:20

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: C - zalamovani řádků

Ok, mozna na tom odkazu to neni moc prehledne. Nemusi se pouzivat fseek. Jde tam o to, ulozit si nekam, kde je posledni mezera (proste ulozit pozici pri kazde mezere), a po tech 20 znacich vypsat (zkopirovat) jen to do te posledni mezery.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson