Potrebujem pomoc v C

C,C++,C#

Moderátori: psichac, Moderátori

tomassksk
Okoloidúci
Okoloidúci
Príspevky: 16
Dátum registrácie: 03 Mar 2021, 14:01

Potrebujem pomoc v C

Príspevok od používateľa tomassksk » 03 Mar 2021, 14:03

Vedel by mi niekto pomoc ? Potrebujem to v while a C. Napíšte program, ktorý číta znaky z klávesnice až kým nenájde 'X'. Potom vypíše, koľko z prečítaných znakov boli znaky 'A'.
0
Naposledy upravil/-a tomassksk v 03 Mar 2021, 14:08, upravené celkom 3 krát.

Používateľov profilový obrázok
misocko
Ultimate člen
Ultimate člen
Príspevky: 4317
Dátum registrácie: 14 Jún 2009, 00:00
Vek: 47

Re: Potrebujem pomoc

Príspevok od používateľa misocko » 03 Mar 2021, 14:05

Prvykrat na fore? Zmen si nazov temy. (Pravidla fora si urcite cital)
1
Obrázok 1

Palcino22
Nový člen
Nový člen
Príspevky: 51
Dátum registrácie: 09 Sep 2007, 00:00
Vek: 30

Re: Potrebujem pomoc v C

Príspevok od používateľa Palcino22 » 03 Mar 2021, 14:50

Je to práca na minútku, určite však je potrebné si naštudovať ako to funguje, pretože nie vždy to niekto napíše za teba. Určite nie je zlé skusiť trošku pogoogliť, z týchto "učebnicových" zadaní je prakticky každé už niekde vypracované a aj popísané, ktorý príkaz ako funguje.

Kód: Vybrať všetko

#include <stdio.h>
int main(void){
int c;
int pocitadlo=0;

printf("Zadaj znaky a potvrd [ENTER]: ");
while(c!='X'){
    c = getchar( );
    if (c=='A') pocitadlo++;
}
printf( "Zadal si znak 'A': %u krat",pocitadlo);
return 0;
}
0
Nieje dôležité všetko vedieť ,ale je podstatné vedieť to nájsť

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2561
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Potrebujem pomoc v C

Príspevok od používateľa maskrtnik01 » 03 Mar 2021, 15:28

Podľa mňa ešte chýba počiatočná hodnota c. Čo ak čírou náhodou bude na mieste v pamäti, kde sa naalokuje c, hodnota 'X'? Nie že by to bolo pravdepodobné, ale predsa.

Alebo použiť cyklus s podmienkou na konci (známy ako do-while).
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Potrebujem pomoc v C

Príspevok od používateľa budvar10 » 03 Mar 2021, 17:35

Je to pravdepodobné! => do-while
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2561
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: Potrebujem pomoc v C

Príspevok od používateľa maskrtnik01 » 03 Mar 2021, 17:43

Tak na jeden bajt v pamäti je 256 možností, kritická je tu jedna.

Určite ale netreba zabúdať na správnu inicializáciu premenných. Pri vyšších jazykoch zvykne premennú vynulovať runtime. Ale pri Cčku sa jej kompilátor ani nedotkne, keď mu neprikážeme. Takže čítať premennú skôr, ako do nej niečo zaručene zapíšeme je lotéria.
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 982
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: Potrebujem pomoc v C

Príspevok od používateľa budvar10 » 03 Mar 2021, 18:22

Myslím, že kompilátor vygeneruje warning.
0

Používateľov profilový obrázok
mac26
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1298
Dátum registrácie: 01 Feb 2010, 00:00
Bydlisko: Martin

Re: Potrebujem pomoc v C

Príspevok od používateľa mac26 » 03 Mar 2021, 19:14

nope
Prílohy
Snímka obrazovky_2021-03-03_19-13-19.png
0

dan21
Ultimate člen
Ultimate člen
Príspevky: 3016
Dátum registrácie: 11 Apr 2007, 00:00
Bydlisko: ZA

Re: Potrebujem pomoc v C

Príspevok od používateľa dan21 » 03 Mar 2021, 19:20

Asi ste niekomu vyriesili domacu ulohu :-) :-)
0

Používateľov profilový obrázok
Radus
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1497
Dátum registrácie: 27 Okt 2009, 00:00
Bydlisko: Prešov
Vek: 42

Re: Potrebujem pomoc v C

Príspevok od používateľa Radus » 03 Mar 2021, 20:05

...ale premenná c ako int... njn. Ako v zásade sa dá, ale aj tak...kole mi to oči :)
0

Používateľov profilový obrázok
mac26
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1298
Dátum registrácie: 01 Feb 2010, 00:00
Bydlisko: Martin

Re: Potrebujem pomoc v C

Príspevok od používateľa mac26 » 03 Mar 2021, 20:46

To by aj bolo OK, getchar vracia int:
This function returns the character read as an unsigned char cast to an int or EOF on end of file or error.
EOF je int. Nic ale nebrani tomu pouzit signed char.
Mne skor vadi pocitadlo ako signed a absencia koncov riadkov.
Vsetko su to ale v tomto pripade skor kozmeticke veci...
0

Používateľov profilový obrázok
Mishung
Stály člen
Stály člen
Príspevky: 494
Dátum registrácie: 01 Dec 2009, 00:00
Bydlisko: Praha
Vek: 32

Re: Potrebujem pomoc v C

Príspevok od používateľa Mishung » 05 Jún 2021, 14:44

Je mi jasné, že už to nie je aktuálne ale ak by sa na to pozeral nejaký nováčik v budúcnosti tak pridám ešte jednu trochu expresívnejšiu variantu:

Kód: Vybrať všetko

#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>

int main()
{
    bool userEnteredX = false;
    char userInput = '\0';
    size_t numOfA = 0;

    // ask user for an input while X is not found
    printf("Zadaj znak alebo 'X' pre ukoncenie:\n");
    while (false == userEnteredX)
    {
        userInput = getchar();
        // increment 'A' counter if 'A' has been entered
        if ('A' == userInput)
        {
            numOfA++;
        }
        // has 'X' been entered?
        if ('X' == userInput)
        {
            userEnteredX = true;
        }
    }
    printf("'A' si zadal %u krat\n", numOfA);
    return 0;
}
0
They say the world is turning
But we are stuck upside down...

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok