- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Apple iPhone 17 Pro Max – fennsík
- Azonnali navigációs kérdések órája
- Google Pixel topik
- Magyarországon is kapható a Moto G85 5G
- LG G8X - kettőn áll a vásár
- Huawei Watch GT 3 Pro - korlátolt szépség
- iPhone topik
- MIUI / HyperOS topik
Új hozzászólás Aktív témák
-
gregory91
senior tag
Csak úgy érdekességként:
#include <stdio.h>
int main (){
char name[20];
char chars[5]={'a','b','c','d','e'};
int yes=0;
printf("Enter name: ");
scanf("%s",name);
for(int i=0;i<sizeof(name)/sizeof(char);i++){
for(int j=0;j<sizeof(chars)/sizeof(char);j++){
if(name[i]==chars[j]){
yes=1;}
}
}
printf("%s",yes?"YES\n":"NO\n");
printf("%ld name",sizeof(name)/sizeof(char));
printf("%ld chars",sizeof(chars)/sizeof(char));
return 0;} -
pmonitor
aktív tag
Én csak tanulmányozásra írtam a kódot, hogy az strstr() miért is nem működik karakterekre. Mert a karakter nem kezelhető strstr()-el. Viszont a ciklust nem tudod elkerülni, akár az ststr()-t, akár az strchr()-t használod. Egyébként én is elkövettem 1 hibát. A break-re nincs szükség, mert az elején a feltételben vizsgálom.
-
kovisoft
őstag
Ha karaktereket keresel egyesével stringben, akkor javaslom az strchr() használatát strstr() helyett, mert az strstr()-nek keresőstringet kell megadni, ezért nem fog működni const char restrictions[5] = {'a', 'b', 'c'} formával. Ezt láthatod is pmonitor kódjában, ha majd megnézed.
-
kovisoft
őstag
Azért nem működik így, mert az strstr() egy összefüggő rész-stringet keres meg az adott stringben, te pedig azt szeretnéd, hogy a megadott karaktereket külön-külön nézze meg, hogy benne vannak-e valahol a stringben, nem feltétlenül összefüggően és nem feltétlenül ugyanabban a sorrendben. Pl. ha "abc"-t keresel, azt az strstr() megtalálja az "aabcc"-ben, de nem találja meg az "aabbcc"-ben, mert ez utóbbinak az "abc" nem rész-stringje.
Azt kell csinálnod, hogy egy ciklussal végigmész a restrictions[] karakterein, és mindegyikre megnézed, hogy benne van-e a name-ben az adott karakter.
Szerk: lassú voltam
-
pmonitor
aktív tag
int main()
{
const char name[20];
const char restrictions[7] = "a\0b\0c\0";
printf("Enter name: ");
scanf("%s", name);
int i, ok = 1;
for (i = 0; restrictions[i] && ok; i += 2)
{
if (strstr(name, &restrictions[i]) != NULL)
{
ok = !ok;
break;
}
}
if (ok) printf("Name: %s\n", name);
else printf("Not a valid name!\n");
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen billentyűzetet vegyek?
- Nem indul és mi a baja a gépemnek topik
- Milyen belső merevlemezt vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Apple iPhone 16 Pro - rutinvizsga
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen alaplapot vegyek?
- További aktív témák...
- LG V50
- Eladó Lenovo ThinkPad X1 Carbon Gen 8 prémium üzleti ultrabook, WQHD kijelzővel!
- Eladó HP EliteBook 645 G11 új, dobozos, Ryzen 5, DDR5, LTE képes üzleti laptop!
- Eladó ASUS TUF Gaming F15 (FX507ZU4-LP067W) i7, RTX 4050, gamer laptop!
- Eladó HP Envy x360 15-fe0178ng OLED, RTX 3050, i7-1355U, gyakorlatilag új! 3 órát ment eddig
- Külföldi csomagszállítás Packeta csomagpontokon keresztül!
- 136 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Corsair HS35 ( v1, nagyobb fülpárna méret) Stereo Gaming fejhallgató
- HP EliteOne 800 G5 All-in-One 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
- Lenovo Thinkpad L14 Gen 4 -14"FHD IPS - i5-1335U - 8GB - 256GB - Win11 - 2 év garancia - MAGYAR
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest