Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Pomoc s ulohou

Aktivity
Avatar
Adam
Člen
Avatar
Adam:30.1.2016 21:43

caute vedeli by ste prosimvas niekto pomoct s touto ulohou ?

Vytvorte funkciu int countVowels(const char a, const charb), ktora spocita samohlasky na intervale medzi dvoma pismenami.

Return
funckia vrati pocet samohlasok nachadzajucich sa na intervale medzi dvoma pismenami(vratane tychto pismen). Na poradi pismen nezalezi(nezelezi ktore z pismen je v abecede skor). Avsak ak nie su obidve pismena velke resp. male funkcia vrati 0 alebo ak niektore zo vstupnych znakov nie je pismeno , funkcia frati opat 0.

Dakujem za pomoc

Editováno 30.1.2016 21:45
 
Odpovědět
30.1.2016 21:43
Avatar
Jaro
Člen
Avatar
Odpovídá na Adam
Jaro:30.1.2016 21:55

ukáž čo si zatiaľ sám spravil, hádam si nemyslíš, že ti tu niekto postne hotové riešenie :)

Nahoru Odpovědět
30.1.2016 21:55
“What would you do if you were 100% sure you couldn’t fail?”
Avatar
Adam
Člen
Avatar
Adam:30.1.2016 22:07
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>

int countVowels(const char a, const char b){

char ch;
int sum=0;

if((a>='a'&& a<= 'z') || (a>='A' && a<='Z')){

if (ch == 'a' || ch == 'A' || ch == 'e' || ch == 'E' || ch == 'i' ||

 ch == 'I' || ch =='o' || ch=='O' || ch == 'u' || ch == 'U'){


int main(){


printf("%d\n",countVowels('e','a'));




return 0;
}
 
Nahoru Odpovědět
30.1.2016 22:07
Avatar
Adam
Člen
Avatar
Adam:30.1.2016 22:17

nemam v podstate nic .. neviem ako vytvorit ten interval ..

 
Nahoru Odpovědět
30.1.2016 22:17
Avatar
Makaron
Člen
Avatar
Makaron:30.1.2016 22:32

C++ neovládam, ale v C# by som to napísal asi takto. Kontrolu pre veľké a malé písmená som tam nedal, iba počítanie samohlások.

public int countVowels(char a, char b)
        {
            string abeceda = "abcdefghijklmnopqrstuvwxyz";
            int start = abeceda.IndexOf(a);
            int end = abeceda.IndexOf(b);
            int count = 0;
            string samohlasky = "aeiouy";


            for (int i = start; i <= end; i++)
            {
                if (samohlasky.Contains(abeceda[i]))
                    count++;
            }



            return count;
        }
 
Nahoru Odpovědět
30.1.2016 22:32
Avatar
Odpovídá na Adam
Libor Šimo (libcosenior):31.1.2016 9:05

Napríklad takto:

#include <stdio.h>

int countVowels(const char a, const char b)
{
    char samohlasky[] = "aeiyou";
    int i, j, pocet = 0;

    if (a < b) {
        for (i = a; i <= b; i++) {
            for (j = 0; j < 6; j++) {
                if (i == samohlasky[j])
                    pocet++;
            }
        }
    }
    else {
        for (i = b; i <= a; i++) {
            for (j = 0; j < 6; j++) {
                if (i == samohlasky[j])
                    pocet++;
            }
        }
    }
    return pocet;
}


int main(void)
{
    printf("%d\n",countVowels('a','y'));

    return 0;
}
Nahoru Odpovědět
31.1.2016 9:05
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Adam
Libor Šimo (libcosenior):31.1.2016 9:47

Až teraz som si všimol podmienku rozdielnych veľkostí písmen.

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

int countVowels(const char a, const char b)
{
    char samohlasky[] = "aeiyouAEIYOU";
    int i, j, pocet = 0;

    if ((islower(a) && islower(b)) || (isupper(a) && isupper(b))) {
        if (a < b) {
            for (i = a; i <= b; i++) {
                for (j = 0; j < 12; j++) {
                    if (i == samohlasky[j])
                        pocet++;
                }
            }
        }
        else {
            for (i = b; i <= a; i++) {
                for (j = 0; j < 12; j++) {
                    if (i == samohlasky[j])
                        pocet++;
                }
            }
        }
    }
    return pocet;
}


int main(void)
{
    printf("%d\n",countVowels('A','Z'));
    printf("%d\n",countVowels('Z','A'));
    printf("%d\n",countVowels('a','Z'));
    printf("%d\n",countVowels('A','z'));
    printf("%d\n",countVowels('a','z'));
    printf("%d\n",countVowels('z','a'));

    return 0;
}
Nahoru Odpovědět
31.1.2016 9:47
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.