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 01. 02. 2012 11:40

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Převod char na int

ahoj mám problém s atoi, kód zde:

Code:

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

int main() {
    int i;
    int delka;
    char string[9];
    gets(string);
    delka = strlen(string);
    for(i = delka; i >= 0; i--) {
        char a = string[i];
        printf("%c\n", a);
        int soucet;
        soucet = 1 + atoi(&a);
        printf("\n%i\n", soucet);
    }
    return 0;
}

načtu pole znaků (čísel), které následně vypíši v opačném pořadí a ke každému prvku pole přičtu 1, ale nechce to fungovat, pro vstup {1} program vypíše:
1
1

12
jenže já chtěl:
1

2

program je napsán v Céčku, díky moc za pomoc


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

  • (téma jako vyřešené označil(a) ReVolt)

#2 01. 02. 2012 23:05 — Editoval gladiator01 (01. 02. 2012 23:08)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Převod char na int

↑ ReVolt:
Ve for cyklu napis delka-1 (pole v cecku jsou od 0), kdyby jsi si výpisy pojmenoval, tak by jsi zjistil proč se ti vypisuje takto.

Deklarace by jsi měl psát všechny na začátku (není to nutnost, ale je to přehlednější).


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 02. 02. 2012 09:07 — Editoval ReVolt (02. 02. 2012 09:08)

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Převod char na int

↑ gladiator01:
nepomohlo a při vstupu 123 je výstup
3

3124
2

2124
1

1124

je to určitě nějaká blbá chyba, jak bys to vyřešil ty


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

#4 02. 02. 2012 10:40

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Převod char na int

↑ ReVolt:

Já jsem jen vyhodila deklarace na začátek:

Code:

    int i;
    int delka;
    int soucet;
    char a;
    char string[9];

    printf("Zadej retezec cisel:");
    gets(string);
    delka = strlen(string);
    
    for(i = delka-1; i >= 0; i--) {
        a = string[i];
        printf("\nc=%c", a);
        
        soucet = 1 + atoi(&a);
        printf("\n1+c=%i\n", soucet);
    }

http://forum.matweb.cz/upload3/img/2012-02/75597_Untitled-1.jpg


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#5 02. 02. 2012 11:12

ReVolt
Příspěvky: 99
Škola: UPOL
Pozice: Student
Reputace:   
Web
 

Re: Převod char na int

↑ gladiator01:
díky moc, měl jsem v tom hroznej bordel, poté co jsem deklarace proměnných dal na začátek jako ty tak vše funguje


http://www.turistickyraj.cz - napsal jsem a spravuji

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson