Ú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!
- Milyen billentyűzetet vegyek?
- Gumi és felni topik
- Sweet.tv - internetes TV
- Még a saját szövetségeseivel szemben is fegyverként használná az AI-t az USA
- Milyen belső merevlemezt vegyek?
- Home server / házi szerver építése
- Pedzegeti az új Xbox irányát a Microsoft
- Projektor topic
- Automata kávégépek
- AI, GitHub Copilot, Claude, Gemini
- További aktív témák...
- Dell XPS 13 9333,13.3",FHD,i5-4210U,8GB RAM, 128GB SSD,WIN10,TOUCH
- LENOVO L13 Yoga 360 touch - 13,3" - i5 10210U, 8GB RAM, SSD, jó akku, - számla, 6 hó gar
- Gamer PC-Számítógép! Csere-Beszámítás! Ultra 5 245KF / RTX 5060 / 16GB RGB DDR5 / 1TB Nvme SSD
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4370
- Új Honor X7d 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



