Megtudná valaki oldani ezt a feladatot C++-ba?
Egy bankfiók eseményeit kontrollálja egy automata, egy teljes napon keresztül (0:0..23:59). Érzékeli
és időrendben feljegyzi, hogy ki lép oda be vagy onnan ki, ui. az ügyfél csak bankkártyájának
leolvastatása után léphet be vagy ki. Feljegyzésre kerül a fiókon belüli tranzakció (pénzfelvétel,
pénzbetétel, valamint az összeg). Az adott napon N eseményt regisztrált az automata. Feljegyezte
az esemény idejét (óra+perc; szigorúan monoton növekvően), az esemény jellegét (belépés, kilépés,
pénz betétel, pénz kivétel), és az esemény numerikus jellemzőjét (ki-/belépéskor a kártyasorszám,
pénzműveletkor az összeg). Az esemény idejének értelmezéséhez: az esemény idejekor az
esemény befejeződött, azaz pl. 12:00-kor belépés történt, akkor az azt jelenti, hogy 12:00-kor már
bent van az illető.
Írj programot, amely megadja hányan voltak X óra 0 perckor a fiókban!
Bemenet
A standard bemenet első sorában az események száma (1≤N≤100) és egy idő (1≤X≤23),
alatta soronként egy-egy esemény adatai vannak, négy egész szám formájában egy-egy szóközzel
elválasztva. Az első szám az esemény idejének órája (0≤Ó≤23), a második a perc része (0≤P≤59),
a harmadik 1, ha az esemény belépés, -1, ha távozás, -2 pénzfelvétel esetén, 2 pedig pénz betételkor,
s végül a negyedik szám egy tetszőleges (1≤SZ≤10 000 000) pozitív egész szám, amely
vagy egy kártyaszám vagy egy összeg – értelemszerűen az előző paramétertől függően.
Kimenet
A standard kimenet első sorába egyetlen számot kell írni, azon ügyfelek számát, ahányan
X óra 0 perckor bent voltak a fiókban!
Példa
Bemenet Kimenet: 1
7 12
11 10 1 12345
11 50 -2 10000
12 10 -1 12345
23 10 1 24680
23 11 -2 5000
23 15 1 13579
23 20 1 98765
Én ezt csináltam, de nem igazán működik
int main()
{
int N,X1,X2,Z,Y,P;
cin >> N ;
int* es = new int[X1,2];
for(int i =1; i <=N; ++i)
{
cin >> es[i];
for(int i =1; i <= 23; ++i){
cin >> es[i];
}
}
int* t = new int[Z,4];
for(int j =1; j<=N; ++j)
{
cin >> t[j];
for(int j =1; j <= 23; ++j){
cin >> t[j];
}
for(int j =1; j <= 59; ++j){
cin >> t[j];
}
for(int j=0; j<=-2 && j<=2 && j!=0; ++j){
cin >> t[j];
}
for(int j=1; j<=1 && j<=10000000; ++j){
cin >> t[j];
}
}
int db = 0;
for(int k = 0; k<X1; ++k){
if(t[j] == es[i]) ++db;
}
cout << db << endl;
delete[] es,ido,tranz,osszeg,ora,perc;
return 0;
}
Ez egy akkora katyvasz ez a kód. Írd valami kódmegosztó oldalra pl ideone.com-ra, ott le is lehet futtatni, bemenetet is meg lehet adni neki. Mi ez a for ciklus egyáltalán?
for(int j=0; j<=-2 && j<=2 && j!=0; ++j)
Ez tudod hányszor futtatja le a ciklus magot? Nem is futtatja le.
Kezd ott, hogy hogy számolnád ki te magad, ha neked kéne a bemenet alapján papíron kiszámolni a kimenetet! Milyen számot keresünk egyáltalán, arra koncetrálj!
A kód szinten meg egyáltalán olvasd be a bemenetet megfelelően. Ilyen tömb deklarációt hol láttál egyáltalán? Mert én még életemben nem láttam.
Ez mit jelent egyáltalán ? int* es = new int[X1,2];
Csak úgy mellékesen X1 változó inicializálatlan, de dolgozol vele nem csak itt. Érdekelne az hogy hol láttál így tömböt deklarálni, mert én még sose láttam így c++ -ban.
„for(int j=0; j<=-2 && j<=2 && j!=0; ++j)”
Jó-jó, a ciklusmag nem fut le, de az összetett feltétel féltő aggodalmában van valami megindító szépség: Ne elégedjünk meg azzal, hogy a változó értéke mínusz kettő vagy kisebb, okvetlenül gondoskodjunk arról, hogy plusz kettőnél is kisebb legyen, hátha magától nem tudja, mi a szokás. Ugyanakkor viszont szigorúan kössük ki, hogy nulla nem lehet, mert az bizony a mínusz kettő alatti tartományban elég szomorúan nézne ki.
Egyébként egy ilyen összehányt próbálkozás még majdnem bicskanyitogatóbb, mintha nem is csináltál volna semmit.
Segítsen neked, akinek két anyja van...
Ez a „próbálkozás” nem egyszerűen összehányt, meg katyvasz, hanem színtiszta halandzsa. Vagy inkább lázbeteg látomás, amelyben születésük előtt elhalt gondolatfoszlányok emléke és meg nem értett C++ utasítások járnak borzongató lidérctáncot. Ennek esélye sincs „nem igazán működni”, a puszta működésképtelenséghez is külön fordítót kéne írni hozzá, --minden_mindegy opcióval. A horror szerelmeseinek kedvéért megpróbáltam áttekinthetőbb formába rendezni a kódot -- gyengébb idegzetűek ne kattintsanak a linkre:
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!