Antwort schreiben  Thema schreiben 
Verfasser Nachricht
DoubleDD_aka_domis4
Durchstarter
**


Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 8
Beitrag: #1
xPSP  Matrix abfragen

Hi, ich habe eine Frage bezüglich einer Matrixrechnung.
So wie ich das verstanden haben, ermöglichen Matrizes das simulieren von mehrdimensionalen Arrays(da c sie normalerweise nicht unterstützt):

Code:
    int solidblock[10][2]={
                  {0, 32},
                {16, 16},
                {16, 32},
                {16, 48},
                {16, 64},
                {16, 80},
                {16, 96},
                {16, 112},
                {16, 128},
                {16, 144}
        };

dazu habe ich eine theoretische Frage (kann es gerade nicht testen)
wie kann man das ganze abfragen? also, ob eine dieser matrizen mit einem array übereinstimmt?

Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2012 18:14 von DoubleDD_aka_domis4.

18.04.2012 17:13
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #2
RE: Matrix abfragen

wieso sollte C keine mehrdimensionalen arrays unterstützen?
was du da zeigst ist doch nichts anderes als ein ganz normales 2 dimensionales array.
sagen wir mal wir haben dein array, und ein andes array, und du willst wissen ob dieses zweite array irgendwo in diesem 2d-array vorkommt:

PHP-Code:
int solidblock[10][2]={
                  {
032},
                {
1616},
                {
1632},
                {
1648},
                {
1664},
                {
1680},
                {
1696},
                {
16112},
                {
16128},
                {
16144}
        };
int testarray[2]={16,64}
int gefunden=0;
for(
int i=0;i<10 &amp;&ampgefunden==0;i++){
    
int gleich=1;
    for(
int j=0;j<&amp;&ampgleich==1;j++){
        if(
testarray[j]!=solidblock[i][j]) gleich=0;
    }
    if(
gleich==1gefunden=1;


am ende ist gefunden dann entweder 0, wenn das array nicht im 2d array vorkommt, oder halt 1 wenn es drin vorkommt.
ist nicht getestet, aber so sollte das gehen. ist doch nichts schwieriges.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2012 18:30 von Neutrosider.

18.04.2012 18:27
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
DoubleDD_aka_domis4 (Apr-18-2012)
DoubleDD_aka_domis4
Durchstarter
**


Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 8
Beitrag: #3
xPSP  RE: Matrix abfragen

Danke, dann habe ich falsche Informationen bekommen:

Zitat:
C unterstützt eigentlich keine mehrdimensionalen Arrays aber man kann sie simulieren.


btw es scheint ein Problem zu geben.

map1.c:21: error: 'amp' undeclared (first use in this function)
map1.c:21: error: (Each undeclared identifier is reported only once
map1.c:21: error: for each function it appears in.)
map1.c:21: error: expected ')' before ';' token
map1.c:24: error: expected ')' before ';' token

die integer habe ich bereits außerhalb der for-schleife deklariert.

Zitat:
ist doch nichts schwieriges.

sagte der Studend zum 16 Jährigen Mittelschüler ;D

EDIT:
korrigiert
http://pastebin.com/pv0jV8KP

die &amp schleichen sich bei pking ein...

EDIT: die PSP crasht dabei

Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2012 19:36 von DoubleDD_aka_domis4.

18.04.2012 19:23
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #4
xPSP  RE: Matrix abfragen

du hast in den beiden for schleifen die &&, die < und die ; an falschen stellen gesetzt, so sollten die plaziert sein:


for(i=0; i<10 && gefunden==0;i++){
int gleich=1;
int j;
for(j=0; j<2 && gleich==1;j++){
if(testarray[j]!=solidblock[i][j]) gleich=0;
}
if(gleich==1) gefunden=1;
}

btw, ich bin grade mal 3 jahre älter als du ^^





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2012 19:54 von Neutrosider.

18.04.2012 19:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
DoubleDD_aka_domis4 (Apr-18-2012)
DoubleDD_aka_domis4
Durchstarter
**


Beiträge: 62
Gruppe: User
Registriert seit: Sep 2011

Status: Offline
Danke erhalten: 8
Beitrag: #5
xPSP  RE: Matrix abfragen

jedenfalls brennt mich noch die Frage, die indirekt damit zutun hat. nämlich wenn ich den oben genannten Array (solidblock) durch eine Header Datei initialisiere, bekomme ich einen Compiler Error:

error: subscripted value is neither array nor pointer

der header ist natürlich via #include dabei... das macht mich recht stutzig Noidea

EDIT: Ansonsten funktioniert natürlich alles Big Grin

Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2012 12:25 von DoubleDD_aka_domis4.

21.04.2012 10:18
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang