![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() Registriert seit: 07.09.2000
Beiträge: 1.036
|
![]() hallo
erst mal eine erklärung zu dem was ich möchte. reines "C" eine funktion erstellen die in meinem fall ein schifffeld mit einem spielfeld vergleicht. ich möchte also 2 2-dimensionale arrays vergleichen die aber nicht den selben wert an den selben stellen haben sondern unterschiedliche vorgegebene werte. ich habe bereits einen code und umgeschrieben allerdings hänge ich bei dem vergleichen der werte, wenn wer eine idee hat wäre ich dankbar^^. Code:
int A[10][10] ,B[10][10]; int i,j; for(i=0; i<=10; i++) { for (j=0; j<=10, j++) { if(A[i,j] == B [i,j]) //gleicher wert { anweisungen } } if (A[i, j] == '0' && B[i, j] == '1') //verschiedener wert { anweisungen }
____________________________________
Bye Bastet |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() Befüllung/Initialisierung der Arrays wäre kein Fehler
Code:
if (A[i, j] == '0' && B[i, j] == '1') //verschiedener wert pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug Nicht klicken! Erstposteralarm/Beschwerde/Kummerkasten Verplattet |
![]() |
![]() |
![]() |
#3 |
Elite
![]() Registriert seit: 07.09.2000
Beiträge: 1.036
|
![]() also ich kann mit deinem "nicht" und "oder" nix anfangen
![]() ok. es geht eigentlich darum ein schiffe versenken programm zu erstellen. es ist eine projektarbeit. einer macht ne funktion zur initialisierung der 2 arrays einer macht den ablauf, etc. meine aufgabe ist es eigentlich den trefferscore zu aktualisieren und bei versenken des schiffes eine ausgabe zu tätigen. ich habe ein struct mit schiffsnummer, schiffswert,score. wenn also im array A ein schiffswert gefunden wird und im array B ein treffer auf diesem feld ist so soll er im struct eingetragen werden. irgendwie hab ich aber probleme nur mit formel zum vergleichen des feldes mit verschiedenen werten. die logik von mir dabei wäre eben: if (A[i, j] == '0' && B[i, j] == '1') // 1.schiff if (A[i, j] == '1' && B[i, j] == '1') // 2.schiff if (A[i, j] == '2' && B[i, j] == '1') // 3.schiff wenn in A koord x,y der wert '0' ist und in B koord x,y der wert '1' ist dann greife auf struct zu und lese-schreibe score.
____________________________________
Bye Bastet |
![]() |
![]() |
![]() |
#4 | |
Inventar
![]() |
![]() Zitat:
An sich brauchst ja nur eine struct Definition, welche Spielerseite, eine Schalter Variable für den versenkt-Status und Anfangs und Endkoordiante des Schiffes beinhaltet. Im Programm hast ein Array für jede Spielerseite welche das komplette Spielfeld darstellt und in welchemst den Status des Feldes (verwendet oder nicht) speicherst. Bei einem Schuss von Spieler A , rennst das Array durch, ob das Feld nicht schon beschossen und im Falle dessen, lässt einen weiteren Schuss zu, wenn nicht beschossen, suchst dir in deiner Liste raus, obs ein Schiff ist und setzt im Falle eines Treffers den passenden Wert ins Array, ratterst mit einer Schleife von Anfangs bis Ende-koordiante das Array durch, wenns lauter Treffer waren, ist das Schiff versenkt und aktualierst das Ganze im Struct... voila... ein komplettes Schiffeversenken pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug Nicht klicken! Erstposteralarm/Beschwerde/Kummerkasten Verplattet |
|
![]() |
![]() |
![]() |
#5 |
Elite
![]() Registriert seit: 07.09.2000
Beiträge: 1.036
|
![]() ich befürchte wir 2 reden absolut aneinander vorbei
![]() das einzige was ich wissen möchte ist die syntax ein array zu vergleichen mit einem wert den ich vorgebe. if(A[i,j] == B [i,j]) bedeutet eben wenn beide inhalte der arrays gleich sind - ich möchte aber nicht das die werte gleich sind oder ungleich sondern ich möchte direkt dort einen wert angeben. also wenn der wert A=5 und der wert B=1 ist, aber die syntax dazu ist mir eben unklar.
____________________________________
Bye Bastet |
![]() |
![]() |
![]() |
#6 | |
Inventar
![]() |
![]() Zitat:
also wenns das nicht is was du suchst dann versteh ich überhaupt nix mehr ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Elite
![]() Registriert seit: 07.09.2000
Beiträge: 1.036
|
![]() Zitat:
war mir nicht sicher, ob hochkommma oder nicht, bei den zahlen. danke jedenfalls
____________________________________
Bye Bastet |
|
![]() |
![]() |
![]() |
#8 |
Elite
![]() |
![]() '1' ist nicht das gleiche wie 1.
'1' ist der ascii wert von dem zeichen 1, nicht die zahl 1. da du int arrays verwendest glaub ich nicht dass du '1' darin haben wirst/willst. (A[i,j] == 5 && B[i,j] == 1) tut das gleiche fuer die tatsaechlichen zahlenwerte. generell gilt: nie hochkomma, ausser du arbeitest mit character werten.
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#9 |
Elite
![]() Registriert seit: 07.09.2000
Beiträge: 1.036
|
![]() ah ja danke.
ich bringe manches immer durcheinandner. die zuweisung mit einem = und das gleichstellen == deshalb hab ich vorher ein hochkomma benutzt.
____________________________________
Bye Bastet |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|