Új hozzászólás Aktív témák
-
chabeee
aktív tag
válasz
PetyaMIK
#2766
üzenetére
progalap házi HAHAHA

amúgy itt egy megoldás hozzá:
#include <stdio.h>
#include <string.h>
int main () {
char nev[30];
char tomb[100][30];
int i=0;
int counter=0;
int max=0;
int hossz;
int tomb2[100];
do{
printf("%d. name: ",i+1);
scanf("%s",nev);
if(nev[0] != '*') {
strcpy(tomb[i], nev);
printf("length: ");
scanf("%d", &hossz);
tomb2[i] = hossz;
}
i++;
counter++;
}while(nev[0] != '*' && i<100);
for(i=1; i<counter-1; i++){
if(tomb2[i]>tomb2[max]){
max=i;
}
}
printf("A leghosszabb kigyo %s, aki %d meteres. \n",tomb[max],tomb2[max]);
return 0;
} -
kingabo
őstag
válasz
PetyaMIK
#2762
üzenetére
Helló!
Jester01 észrevételein felül, while-ba kéne még egy feltétel, hogy ne kérhesd be a 101-edik értéket. Illetve kiíratásnál használhatod az index+1-et is, így nem lesz szükséged az Edik változóra.
Ja és egy kérés legközelebb a kód beillesztése után jelőld ki a kódot és nyomd meg alul a Programkód gombot, úgy nem fognak a tabulálások elveszni.

-
Jester01
veterán
válasz
PetyaMIK
#2762
üzenetére
A kigyok az kétdimenziós karakter tömb, vagy ha úgy tetszik egydimenziós string tömb. Ezért nem jó a kigyok[index] != '*', hiszen a bal oldal az char* a jobb oldal meg char. Egy lehetséges megoldás, ha a jobb oldalból is stringet csinálsz, és a megfelelő összehasonlítást alkalmazod: strcmp(kigyok[index], "*") != 0
MOD: Továbbá a ciklus vége előtt már növeled az index értékét, így a while feltétel már másik elemet vizsgál. Egyszerűbb lenne, ha a ciklusmagban lévő if feltétel break használatával kilépne a ciklusból, ami amúgy végtelen lenne.
MOD #2: ja és ha csak a leghosszabb kígyót kell kiíratni, akkor teljesen fölösleges mindet eltárolni egy tömbben.
Ú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!
- Apple iPhone 7 / 128GB / Kártyafüggetlen / 12Hó Garancia / akku :84%
- Apple iPhone 15 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- Apple iPhone 14 Pro / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku : 87%
- Corsair iCUE H150i RGB PRO XT Processzor vízhűtő
- Apple iPhone 17 Pro Silver 256 GB Használt, karcmentes 100% akku / 0 ciklus 1 év gari!
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- BESZÁMÍTÁS! Gigabyte B650 R7 7700 32GB DDR5 1TB SSD RTX 4070 Ti 12GB Asus TUF Gaming GT 501 750W
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- BESZÁMÍTÁS! Gigabyte Z37 i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA ADATA 600W
- Apple Watch Series 9 45mm GPS Starlight 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest




