Elakadtam C++, "szigetes probléma"?
Szóval a feladat: Vízszintek. 1000 felett 3. fokú, ez kell nekem. Meg kell keresni annak a 2 szakasznak a kezdő és a végpontják, amelyek között a legminimálisabb a távolság:
pl: 500 1100 1200 432 853 1642 1342 121 1893
Ez esetben a helyes megoldás 6 7 9 9
Az elméletem a következő volt: Megkeresek egy szakaszt, aztán megnézem hogy következő szakaszig mennyi a hossz, ha ez kisebb mint aktuális akkor mindig tárolja le szakasz kezdő és végpontját, majd keresse meg a következő szakasz kezdő és végpontját. Igazából már teljesen lerohadtam de kell mára. Félig meddig működik. Az egyik jó szakasznak megadja a kezdő és végpontját de olyan mint ha visszafelé számolna.
Itt a függvény:
int kez1=0;
int kez2=0;
int veg1=0;
int veg2=0;
int min=0;
int y=0;
int hossz=0;
bool van=false;
for(int i=1;i<=n;i++)
{
if(folyo[i]>1000 && folyo[i-1]<=1000)
{
kez1=i+1;
}
else
{
if(folyo[i]<=1000 && folyo[i-1]>1000)
{
veg1=i;
y=i;
hossz=0;
while(folyo[y]<=1000 && y<=n)
{
hossz++;
y++;
}
if(hossz<min)
{
hossz=min;
while(!van)
{
if(folyo[y+1]>1000 && folyo[y]<=1000)
{
kez2=y+1;
}
else
{
if(folyo[y+1]<=1000 && folyo[y]>1000)
{
veg2=y+1;
van=true;
}
}
y++;
}
}
}
}
}
cout <<kez1<<" "<<veg1<<" "<<kez2<<" "<<veg2;
Ugye kez1,veg1-hez kéne betennie az "első" szakaszt, de azt a kez2,veg2-be teszi, a az elsőbe meg 2 random szám. Már nagyon fáradt vagyok, please egy kis löketet! :D
Ez a kód is borzalom, de én már a feladatot se értem, te biztos igen?
"Vízszintek. 1000 felett 3. fokú, ez kell nekem"
Ez milyen nyelven van?
"Meg kell keresni annak a 2 szakasznak a kezdő és a végpontják, amelyek között a legminimálisabb a távolság"
Mi számít egy szakasznak? Mi a távolság?
Ez mar meg volt oldva parszor itt.
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!