Hirdetés
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Világrekordot ünnepel az ASRock
- KODI (ex-XBMC) Android alapokon, Androidos media-boxok
- Milyen billentyűzetet vegyek?
- Az AOC hordozható monitora megkímél az anyagi csődtől
- Vezetékes FEJhallgatók
- Soha nem szabta ilyen pénztárcabarátra új CPU-it az Intel
- Autóhifi
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- RAM topik
Új hozzászólás Aktív témák
-
maszat
senior tag
Felhasználva a forrásodat elkészítettem egy másik verziót:
char *feladat(char *str){
char *uj=(char*)malloc(sizeof(char)*(strlen(str)*1.2));
int i=0;
int ujszohossz=0;
int egyesek=0;
for(i=0; i<strlen(str); i++){
uj[i+ujszohossz]=str[i];
if(str[i]=='1'){
egyesek++;
if(egyesek == 5){
egyesek = 0;
ujszohossz++;
uj[i+ujszohossz]='0';
}
} else {
egyesek=0;
}
}
return uj;
}Működése:
Létrehozza a célszónak megfelelő karaktertömböt. Külön megvizsgálva lehetett volna pontosan akkorát létrehozni, mint amekkora kell, de hirtelen ez is jó, elvégre max 20%-al lesz hoszabb a szó.
Betűnként olvassa a szót, és számolja az egymásutáni 1-eseket. Ha megvan az 5, akkor hozzácsapja a 0-t, ha nincs, akkor nullázza a számlálót.
uj[i+ujszohossz]=str[i]; az ujszohossz változó az eltolás kezelésére szolgál, mikor a 0-t beszúrjuk.
Így hirtelen kipróbálva működött, de a hibátlan működésért nem vállalok garanciát.
Ú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!
- BestBuy topik
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Diablo IV
- Milyen okostelefont vegyek?
- Yettel topik
- BestBuy ruhás topik
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Lexus, Toyota topik
- Világrekordot ünnepel az ASRock
- KODI (ex-XBMC) Android alapokon, Androidos media-boxok
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



