- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen TV-t vegyek?
- Váratlanul ledobta asztali csúcs-Ryzenjét az AMD
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Házimozi belépő szinten
- Milyen monitort vegyek?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Hobby elektronika
- OLED monitor topic
- Milyen nyomtatót vegyek?
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
zserrbo
#1984
üzenetére
Érdekes ez a feladat-meghatározás, ha így kezdődik: "Paraméterei két karakter tömb." - minek a paraméterei...? Ki lehet találni, hogy egy függvénynek, de az egész specifikáció elég gyengusz.
Akkor menjünk sorba a programodon:
main ()
ne szokj rá, hogy ezt használod, írd ki explicite a visszatérési értéket:
int main(){
/*...*/
return 0; /* ha nincs hiba*/
}int i;
char tomb1[i];
char tomb2[i];
Ez meg micsoda?
Eleve i-nek nincs semmi kezdőértéke, hogy akarod így létrehozni i-vel a tömböt? Mekkora méretű lesz a tömb?scanf ("%c",tomb1);
Egyetlen karaktert olvasol tomb1 0. indexe helyére...
Használhatnád pl. a getchar() függvényt EOF-ig, vagy ameddig meghatározod, hogy beolvassson (mit adjon meg a felhasználó, amivel jelzi, hogy vége a beadott karaktersorozatnak).Ezután van egy for ciklusod, amivel ki szeretnéd íratni tomb1-et, de a másolás nincs meg.
Valami ilyesminek kellene szerepelnie a for cikluson belül, persze ha már a többi része jó:
for(i=0;i<strlen(tomb1) && i<strlen(tomb2); i++) /* csak hogy ne indexeljen túl, ha esetleg a tomb1 kisebb méretű tomb2-nél, persze ennek ellenőrzésére más megoldás is van */
{
if(tomb2[i] != '\t' || tomb2[i] != ' ') /* ha nem tabulátor és nem szóköz */
tomb1[i]=tomb2[i];
}
A ciklus végén zárd le lezáró 0-val a tomb1-et.Ezenkívül ennek az egésznek szerintem külön függvényben kellene lennie, ami két karaktertömböt kap paraméterként, visszatérési értéke pedig az átmásolt karakterek száma. A feladat legalábbis ezt mondja...
"Igaz a feladat nem írja, hogy töltsem fel a karakter tömböt"
És akkor mégis mit akarnál átmásolni, ha nincs feltöltve?system ("PAUSE");
Ezt felejtsd el! Nem platformfüggetlen, felesleges rendszerhívás.
Használd helyette pl. a getchar()-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!
- Samsung Galaxy Felhasználók OFF topicja
- GL.iNet Flint 2 (GL-MT6000) router
- Hálózati / IP kamera
- Linux Mint
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Konzolokról KULTURÁLT módon
- Eredeti játékok OFF topik
- Kerékpárosok, bringások ide!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- További aktív témák...
- teljesen ÚJ Apple Watch Ultra 3 49mm Black Titanium !! aktiválástól 1 ÉV nemzetközi APPLE GARANCiA
- Dell WD15 type-c dokkoló 130W-os töltővel
- FLSUN V400 3D nyomtató megkímélt, 680 üzemóra
- BESZÁMÍTÁS! Lenovo LOQ 15AHP10 FHD GAMER notebook - Ultra7 155U 32GB DDR5 1TB SSD Intel Graphics W11
- Dell Precision 7810 TOWER,E5-2670 v3 (12/24) 8GB DDR4,256GB SSD,QUADRO K2200 4GB VGA,WIN11
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Raktáron levő AM4 garanciás alaplapok!!!
- Honor Magic6Pro 512GB,Újszerű,Adatkabel,12 hónap garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4649
- Apple iPhone 15 Pro Max 256GB - Kártyafüggetlen, Grafit, 90% Akku - 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Eleve 
