ouCHastilaer Skrevet 30. august 2006 Del Skrevet 30. august 2006 Jeg anntar dette kalles en flerdimensjonal tabell, da vi har X og Y. 3 ? ? ? 2 ? ? ? 1 ? ? ? A B C ? = tilfeldige tall. 3B kan for eksempel være 82. Det jeg vil er å legge denne tabellen inn i C++. Har lest litt om arrays, men har ikke helt forstått hvordan dette vil bli i kode. Så det hadde vert fint om noen ville hjulpet meg, i det minste på rett vei. Programmet ber bruker skrive ein raw og column, og deretter skal programmet skrive ut informasjonen som ligger i det elementet. I grunn er jeg da altså ute etter et kode eksempel på akkurat dette. Lenke til kommentar
Klette Skrevet 30. august 2006 Del Skrevet 30. august 2006 std::vector<std::vector<int>> jall; jall[0][2] = 10; jall[2][3] = 12; e.l. Lenke til kommentar
ouCHastilaer Skrevet 30. august 2006 Forfatter Del Skrevet 30. august 2006 (endret) Compile error: vector is not a member of std Kva for library files må jeg inkludere i headeren ? Eg brukar Dev C ++, og har ikke lagt til noko utanom det som kom med sjølve programmet. Endret 30. august 2006 av ouCHastilaer Lenke til kommentar
Klette Skrevet 30. august 2006 Del Skrevet 30. august 2006 #include <vector> .... google er fint vet du Lenke til kommentar
darkspacemonster Skrevet 30. august 2006 Del Skrevet 30. august 2006 (endret) Også kan du evt bruke C versjonen: int array[3][3]; Eksempel: int iArray[3][3], i, j; cout << "Trykke inn verdier:" << endl; for(i=0; i<3; i++) for(j=0; j<3; j++) { cout << "iArray[" << i << "][" << j << "]: "; cin >> iArray[i][j]; } cout << "Skriver ut innholdet til iArray: " << endl; for(i=0; i<3; i++) for(j=0; j<3; j++) { cout << "iArray[" << i << "][" << j << "]: " << iArray[i][j] << endl; } C++ vektorer kan du jo prøve på selv Endret 30. august 2006 av ReddBuLL Lenke til kommentar
lnostdal Skrevet 30. august 2006 Del Skrevet 30. august 2006 (endret) her er en som gjør at du kan bruke "hva som helst" til indeksering: http://nostdal.org/~lars/programming/c/oxy.../util/table.hpp http://nostdal.org/~lars/programming/c/oxy.../util/table.cpp under kjøring: edit: ble bedre her: http://paste.lisp.org/display/25008 lars@ibmr52:~/programming/c/oxymora/demo/util$ ./tabletegner brettet .................... .................... .................... .................... .................... .................... .................... .................... .................... .................... setter et kryss tegner brettet .................... .................... .................... ..X................. .................... .................... .................... .................... .................... .................... setter en sirkel tegner brettet .................... .................... .................... ..X................. ...O................ .................... .................... .................... .................... .................... # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ........ edit: ble bedre her: http://paste.lisp.org/display/25008 Endret 30. august 2006 av lnostdal Lenke til kommentar
ouCHastilaer Skrevet 31. august 2006 Forfatter Del Skrevet 31. august 2006 Ok, takker og bukker for all hjelpa ! Lenke til kommentar
lnostdal Skrevet 1. september 2006 Del Skrevet 1. september 2006 (endret) Tilsvarende eksempel som matcher det du var ute etter: #include <oxymora/util/table.hpp> #include <iostream> #include <string> #include <cstdlib> #include <ctime> using namespace std; using namespace Oxymora; template<typename T> void readStdin(T& t, string msg, string on_wrong_input){ cout << msg << flush; while(!(cin >> t)){ cout << on_wrong_input; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << msg << flush;}} template<typename T> inline T toType(std::string const& source){ std::istringstream iss(source); T ret; iss >> ret; return(ret);} int main(){ // This makes sure the random numbers really are random. srand(time(0)); srand(time(0)); // 2 dimensional array of ints, with characters as "axis-elements". Table<2, int, char> table; table['1']['A'] = rand(); table['1']['B'] = rand(); table['1']['C'] = rand(); table['2']['A'] = rand(); table['2']['B'] = rand(); table['2']['C'] = rand(); table['3']['A'] = rand(); table['3']['B'] = rand(); table['3']['C'] = rand(); while(true) {char x, y; readStdin(x, "Type in the X-axis-thingy: ", "No, I expect a character for the X-axis-thingy: "); cin.ignore(numeric_limits<streamsize>::max(), '\n'); readStdin(y, "Type in the Y-axis-thingy: ", "No, I expect a character for the Y-axis-thingy: "); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "table['" << x << "']['" << y << "']: " << table[x][y] << endl;}} lars@ibmr52:~/programming/c/oxymora/demo/util$ ./table2Type in the X-axis-thingy: 1 Type in the Y-axis-thingy: A table['1']['A']: 724860259 Type in the X-axis-thingy: 1 Type in the Y-axis-thingy: B table['1']['B']: 712215369 Type in the X-axis-thingy: 1 Type in the Y-axis-thingy: A table['1']['A']: 724860259 Type in the X-axis-thingy: edit: siden det er _tegn_ som blir brukt til å spesifisere posisjoner på aksene må du gå over til `std::string' om du ønsker å lagre "tall" større enn 9 (altså flere enn étt tegn) .. du bør dog vurdere å bruke heltall på aksene i stedet - da kan ofte ting forenkles (og optimaliseres, om ønskelig) endel Endret 1. september 2006 av lnostdal Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå