Kezdőoldal » Számítástechnika » Programozás » A következő C++-kódban lenne...

A következő C++-kódban lenne pár kérdésem? (A feladat leírása és az általam írt kód a lent van. ) A beolvasás 2. részében mi a hiba? És a lényegi résznben mi a hiba?

Figyelt kérdés

(A feladatot CodeBlocksban írom)

Feladat: Leírás:

Egy iskola tanárairól tudjuk, hogy mikor milyen órát tartanak. A tanárokat, a tantárgyakat, a hét napjait, a napokon belüli órákat sorszámukkal azonosítjuk. Készíts programot, amely megadja minden napra az aznap órát tartó tanárok számát! Bemenet A standard bemenet első sorában az órák száma (1O1000), a tanárok száma a tantárgyak száma (1M100), egy tanár sorszáma (1TN) és egy nap sorszáma van (1H5), egy-egy szóközzel elválasztva. A következő sorok mindegyikében 4 egész szám van, egy-egy szóközzel elválasztva: tanár sorszám (1TSN), tanított tantárgy sorszáma (1TTSM), nap (1Nap5), óra (0Óra8). Például 3 7 2 0 azt jelenti, hogy a harmadik tanár a hetedik tantárgyat a hét második napján a nulladik órában tanítja. Kimenet A standard kimenet első sorába meg kell adni, minden napra az aznap órát tartó tanárok számát!

Bemenet:

8 3 4 1 1

1 1 1 6

1 1 2 2

1 2 1 3

2 1 2 2

2 2 3 1

3 4 1 2

3 2 1 4

3 3 2 1


Kimenet:

2 3 1 0 0


#include <iostream>


using namespace std;


int main()

{

// Beolvasás


int o; // órák száma órák száma (1<=O<=1000

int n; // tanárok száma (1<=N<=100)

int m;// tantárgyak száma (1<=M<=100),

int t;// tanár sorszáma (1<=T<=N

int h; // egy nap sorszáma van (1<=H<=5)


setlocale(LC_ALL,"hun");

cout << "Hány óra van? (órák száma)" << endl;

cin >> o;


cout << " tanárok száma " << endl;

cin >> n;


cout << " tantárgyak száma " << endl;

cin >> m;


cout << " Egy tanár sorszáma " << endl;

cin >> t;


cout << " Egy nap sorszáma " << endl;

cin >> h;


cout << o << " " << n << " " << m << " " << " " << t << " " << h << endl;

int i;

int ts[i] ; // tanár sorszám (1<=TS<=N

int tts[i]; // tanított tantárgy sorszáma 1<=TS<=M


int nap[i];// nap


int ora[i];// ora


// INNENTŐL NEM MEGY Az oszlopos beolvasás


cout << "\n 2. sor beolvasása: \nTanár sorszám " << endl;

for (int i=1;i<20;i++)

{

cin >> ts[i];

}



cout << " Tanított tantárgy sorszáma " << endl;

for (int i=1;i<20;i++)

{

cin >> tts[i];

}



cout << " NAP " << endl;

for (int i=1;i<20;i++)

{

cin >> nap[i];

}



cout << " ora " << endl;

for (int i=1;i<20;i++)

{

cin >> ora[i];

}

for (int i=1;i<20;i++)

{



cout <<"A "<< ts[i] << ". tanár, a " << tts[i] << " tantárgyat, " << nap[i] << "napon, " << " " << ora[i] << " órában tartja. " << endl;


// lényegi rész:

Programozási tételek – Megszámolás

új tömbbel ?

int oratt[i]; // órát tartó tanárok száma

if (

nap[i]!=nap[i]

)

oratt[i]=oratt[i]+1;

}

return 0;

}


vagy if)(nap[i]!=nap[i])

(i++)

;



A segítséget előre is köszönöm!



2017. okt. 11. 16:45
1 2
 11/11 tabaki ***** válasza:

Oké, de azért tegyük hozzá, hogy ez még nem 2D-tömb, hanem voltaképpen 4 db egydimenziós tömb. A valódi kétdimenziós tömb valahogy így néz ki (nem hozol létre külön-külön nevű tömböket, hanem a nagy tömb minden bejegyzése egy-egy kisebb tömbből áll, amelyeket szintén számokkal indexelsz):

[link]


Ezek után nem túl bonyolult az #1 által javasolt struct-változat sem. Létrehozol egy újfajta adatszerkezetet (nálam egysor a neve), amely négy darab változóból áll, és a tömbödet ebből az új típusból készíted el. Így minden tömbelemnek lesz négy ugyanígy elnevezett tagja, amelyekre a neve szerint hivatkozhatsz:

[link]

2017. okt. 15. 23:05
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!