Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet olyan függvényt...

Hogyan lehet olyan függvényt írni, ami megvizsgálja egy karakterláncról, hogy van-e benne nagybetű?

Figyelt kérdés

2017. dec. 20. 19:01
1 2 3
 11/21 anonim ***** válasza:

m3WiTnduipMay9a5K7Gt: Jó az is, csak pár apró probléma van vele (vedd hozzá, hogy C nyelvről van szó!):

* Ha strupr-t használna, az nem szabványos függvény - nem biztos, hogy mindenhol lefordul.

* Ha a nagybetűssé átalakítást ciklussal, egyenként csinálja meg, az lehet hogy időigényes lesz. Tegyük fel, hogy 1000 (vagy több) karakteres karakterláncról van szó és a 2. karakter a nagybetű. Melyik hajtódik gyorsabban végre: leellenőrizni, hogy az aktuális karakter megegyezik-e a nagybetűs változatával/benne van-e a nagybetűk között (2 összehasonlítás), vagy átalakítani a sztringet (1000 lépés) majd összehasonlítani (strcmp-vel egy lépés)?


Természetesen elfogadható egy megoldásnak.

2017. dec. 20. 23:19
Hasznos számodra ez a válasz?
 12/21 anonim ***** válasza:
igen... az igaz, hogy attól is függ, hogy milyen hosszú a karakterlánc. Mert ha pl a "Háború és béké"-ről van szó, akkor kicsit kellemetlen a dolog :)
2017. dec. 20. 23:33
Hasznos számodra ez a válasz?
 13/21 sharkxxx ***** válasza:

#include <stdio.h>

#include <ctype.h>


int isContainUpperCase(const char * str)

{

    int i;

    i = 0;

    while (str[i] != '\0') {

        // if (isupper(str[i]))

        if ((str[i] >= 'A') && (str[i] <= 'Z'))

        {

            return 1;

        }

        i++;

    }

    return 0;

}


int main(int argc, char *argv[])

{

    char * text = "van bennem Nagy betu?";

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

    if (isContainUpperCase(text)) {

        printf("Tartalmaz nagy betut.\n");

    } else {

        printf("Nem tartalmaz nagy betut.\n");

    }

    return 0;

}

2017. dec. 21. 00:37
Hasznos számodra ez a válasz?
 14/21 anonim ***** válasza:
2017. dec. 21. 00:47
Hasznos számodra ez a válasz?
 15/21 anonim ***** válasza:

// Angol ABC-re működik, de kiegészíthető

char* getUpperPos(char* ch) {

while (*ch) {

if (*ch>64 && *ch<91) return ch;

ch++;

}

return null;

}


//használat pl.:

if (getUpperPos("")) ...

2017. dec. 21. 10:17
Hasznos számodra ez a válasz?
 16/21 anonim ***** válasza:
34%

Csak úgy eszembe jutott:


Mégis miért akarná bárki is megvizsgálni, hogy a Háború és Békében van-e nagybetű? Vagy úgy általában bármilyen szövegben? Jelenleg csak jelszóerősség ellenőrzésnél tudom elképzelni a dolgot, azt meg nem rendezzük ciklusba.

2017. dec. 21. 10:55
Hasznos számodra ez a válasz?
 17/21 anonim ***** válasza:
#16: Mondjuk azért, mert nyelvész, aki statisztikai adatokhoz kiván jutni. De a kérdésben jelölt feladat transzponálható más területekre is, gondolom ezért adta fel a tanár.
2017. dec. 21. 12:09
Hasznos számodra ez a válasz?
 18/21 anonim ***** válasza:
Ilyen alapon miért akarná bárki is kiíratni hogy "Hello Wolrd!", mégis szerintem minden programozó kiíratta többször is :)
2017. dec. 21. 13:14
Hasznos számodra ez a válasz?
 19/21 anonim ***** válasza:

[C# 6]

bool HasUppercaseLetter(string Input) => Input.Any(x => Char.IsUpper(x));

2017. dec. 21. 17:22
Hasznos számodra ez a válasz?
 20/21 anonim ***** válasza:
Látom, nagyon ráállt az ujjatok a piros kézre, sebaj. :D A nyelvészes példa nem túl életszerű, egy nyelvészt sem érdekel, hogy egy szövegben van-e nagy betű, vagy sincs, legfeljebb az, hogy hány nagy betű van benne, és azok hol helyezkednek el. A kérdésben lévő függvény ennek a megválazolására nem alkalmas.
2017. dec. 22. 17:28
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!