Mehrdimensionale[r|s] Array
-
Hallo
Eigentlich wollte ich ein Programm schreiben, mit dem man die unregelmässigen englischen Verben lernen kann. Doch schon bei der Definition der Verben gibt's Probleme. Ich will ein mehrdimensionales Array erstellen. In jeder Zeile soll ein Verb stehen.
Wieso funktioniert also folgender Code nicht?
Und wieso muss man hier auch static nehmen? (das prinzip hab ich aus einem buch)static const char ***verbes = {{"wetten (auf)","to bet (on)","bet","bet"}};
-
afaik ist die korrekte syntax (unter C++ zumindest):
const char *x[/*nur hier muss keine größenangabe stehen*/][3] = {{"a1","a2","a3"}, {"b1","b2","b3"}};
-
Ok, danke. Den Array verbes habe ich nun definiert. Aber jetzt habe ich schon wieder ein Problem :-\
Wenn ich den ganzen Array ausgeben will, dann kommt bei der Ausführung des Programmes "Ungültiger Vorgang..." (Das altbekannte Windows-Fenster). Beim Kompilieren kommt keine Fehlermeldung unter gcc, auch mit -Wall.
Das Ganze bricht bei der Zeile "gehen". Wenn ich diese Zeile ausklammere bei der Deklaration, dann ist der Fehler halt ein paar Zeilen weiter unten....
Hier der Code:#include <stdio.h> static const char *verbes[][4] = { {"wetten (auf)","to bet (on)","bet","bet"}, {"bersten,zerplatzen","to burst","burst","burst"}, {"kosten","to cost","cost","cost"}, {"schneiden","to cut","cut","cut"}, {"verbreiten,verteilen","to spread","spread","spread"}, {"wehtun,schmerzen","to hurt","hurt","hurt"}, {"lassen,erlauben,vermieten","to let","let","let"}, {"setzen,legen,stellen","to put","put","put"}, {"schliessen (allgemein)","to shut","shut","shut"}, {"schlagen,treffen","to hit","hit","hit"}, {"biegen","to bend","bent","bent"}, {"bluten","to bleed","bled","bled"}, {"kaufen","to buy","bought","bought"}, {"bringen","to bring","brought","brought"}, {"bauen,erbauen","to build","built","built"}, {"brennen,verbrennen","to burn","burnt","burnt"}, {"fangen,erwischen","to catch","caught","caught"}, {"(sich) klammen","to cling (to)","clung","clung"}, {"kriechen,schleichen","to creep","crept","crept"}, {"behandeln,umgehen mit","to deal (with)","dealt","dealt"}, {"träumen","to dream (of)","dreamt","dreamt"}, {"graben","to dig","dug","dug"}, {"füttern","to feed","fed","fed"}, {"fühlen,sich fühlen","to feel","felt","felt"}, {"fliehen","to flee (from)","fled","fled"}, {"kämpfen,fechten","to fight","fought","fought"}, {"finden","to find","found","found"}, {"bekommen,werden + ADJ","to get","got","got"}, {"haben,zu sich nehmen","to have","had","had"}, {"hören,vernehmen","to hear","heard","heard"}, {"halten","to hold","held","held"}, {"hängen","to hang","hung","hung"}, {"behalten,weiterfahren","to keep","kept","kept"}, {"legen,flachlegen","to lay","laid","laid"}, {"lehnen,anlehnen","to lean (against)","leant","leant"}, {"lernen","to learn","learnt","learnt"}, {"führen,leiten","to lead","led","led"}, {"verlassen,zurücklassen","to leave","left","left"}, {"leihen","to lend","lent","lent"}, {"anzünden,beleuchten","to light","lit","lit"}, {"verlieren","to lose","lost","lost"}, {"herstellen,machen","to make","made","made"}, {"bedeuten","to mean","meant","meant"}, {"treffen,abholen","to meet","met","met"}, {"zahlen,bezahlen","to pay (for sth.)","paid","paid"}, {"lesen","to read","read","read"}, {"sagen","to say","said","said"}, {"sitzen,sich setzen","to sit (down)","sat","sat"}, {"senden","to send","sent","sent"}, {"scheinen","to shine","shone","shone"}, {"schiessen,erschiessen","to shoot","shot","shot"}, {"schlafen","to sleep","slept","slept"}, {"riechen,duften (nach)","to smell","smelt","smelt"}, {"verkaufen","to sell","sold","sold"}, {"buchstabieren,schreiben","to spell","spelt","spelt"}, {"ausgeben,verbringen","to spend","spent","spent"}, {"verschütten,vergiessen","to spill","spilt","spilt"}, {"verderben,verwöhnen","to spoil","spoilt","spoilt"}, {"stehen","to stand","stood","stood"}, {"schlagen (weit ausholend)","to strike","struck","struck"}, {"kleben,ankleben,bleiben bei","to stick (to)","stuck","stuck"}, {"stechen","to sting","stung","stung"}, {"fegen,kehren","to sweep","swept","swept"}, {"lehren","to teach","taught","taught"}, {"denken","to think","thought","thought"}, {"es jd sagen,erzählen","to tell (sb sth)","told","told"}, {"weinen,schluchzen","to weep","wept","wept"}, {"erwachen,jd. wecken","to wake","woke","woken"}, {"gewinnen","to win","won","won"}, {"(sich) winden,necken","to wind (sb up)","wound","wound"}, {"werden","to become","became","become"}, {"kommen","to come","came","come"}, {"rennen,laufen,führen","to run","ran","run"}, {"schlagen,besiegen","to beat","beat","beaten"}, {"sein","to be","was,were","been"}, {"beginnen","to begin","began","begun"}, {"beissen","to bite","bit","bitten"}, {"blasen,sich schneuzen","to blow","blew","blown"}, {"brechen","to break","broke","broken"}, {"wählen","to choose","to chose","chosen"}, {"tun","to do","did","done"}, {"zeichnen,ziehen","to draw","drew","drawn"}, {"fahren,lenken,treiben","to drive","drove","driven"}, {"trinken","to drink","drank","drunk"}, {"essen","to eat","ate","eaten"}, {"fallen","to fall","fell","fallen"}, {"fliegen","to fly","flew","flown"}, {"vergessen","to forget","forgot","forgotten"}, {"gefrieren,erfrieren","to freeze","froze","frozen"}, {"geben","to give","gave","given"}, {"gehen","to go","went","gone"}, {"wachsen,pflanzen,werden","to grow","grew","grown"}, {"verstecken,sich verstecken","to hide","hid","hidden"}, {"kennen,wissen","to know","knew","known"}, {"liegen","to lie","lay","lain"}, {"reiten,fahren","to ride","rode","ridden"}, {"aufstehen,aufgehen","to rise","rose","risen"}, {"läuten,klingeln","to ring","rang","rung"}, {"sehen,besuchen,treffen","to see","saw","seen"}, {"nähen","to sew","sewed","sewn"}, {"schütteln,zittern","to shake","shook","shaken"}, {"zeigen,aufzeigen","to show","showed","shown"}, {"schrumpen","to shrink","shrank","shrunk"}, {"säen","to sow","sowed","sown"}, {"sprechen","to speak","spoke","spoken"}, {"stehlen","to steal","stole","stolen"}, {"singen","to sing","sang","sung"}, {"fluchen,schwören","to swear","swore","sworn"}, {"schwimmen","to swim","swam","swum"}, {"nehmen","to take","took","taken"}, {"werfen","to throw","threw","thrown"}, {"reissen,zerreissen","to tear (up)","tore","torn"}, {"am Körper tragen","to wear","wore","worn"}, {"schreiben","to write","wrote","written"} }; int main() { int i,j=0; for(i=0;i<115;i++) { printf("%-30s%-20s%-20s%-20s\n",verbes[i][j],verbes[i][j+1],verbes[i][j+2],verbes[i][j+3]); } return 0; }
-
Bei mir gibt der son schrott nach schreiben aus!?
Warum kommt da son scheiss?Bist du dir sicher, dass es 115 elemente sind?