C-Programmierung vergleichen der Zeilen und Spalten von 2d-array
Hey Leute also ich bin versucht zu vergleichen, die Zeilen und Spalten von 2d-array zu sehen, ob es irgendwelche Paare von Buchstaben direkt in der Nähe zueinander. Ich kann das array ist kein problem, aber mein problem ist nur ich habe keine Ahnung, wie man über den Vergleich der Zeilen einzeln und dann die Spalten..Wenn Sie könnten mir helfen, dass wäre Super! danke!!!
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main( void )
{
int x = 0;
int y = 0;
int countX = 0;
int countY = 0;
srandom( (unsigned) time(NULL) );
char array[x][y];
for (x=0;x<20;x++)
{
for (y=0; y<30; y++)
{
array[x][y] = random() % 26 + 65;
printf("%c ",array[x][y]);
}
printf("\n");
}
printf ("\n\n");
return ( 0 ) ;
}
- Klingt wie, was Sie zu tun versuchen, ist ein Kreuzworträtsel. Sollte das in Frage. Zweitens, erklären Sie Ihr array mit x und y, welche beide bei null.
- Können Sie geben ein einfaches Beispiel für so eine matrix und wie definiert sich ein paar? Ist
array[x][y] == array[x+1][y+1]
auch gezählt als paar? - char array[0][0]; ist nicht eine sehr große Auswahl. Weniger als 20 oder 30 sicher. Auch würde ich ändern 65 bis 'Eine'.
- Wie Phillip schon sagte, Sie brauchen, um zu definieren "direkt in der Nähe jeder andere"
- Sind Sie versuchen, um Zeichenketten miteinander zu vergleichen, (D. H. ist stringA gleich stringB), oder sind Sie nur versuchen zu vergleichen, die auftreten
char
wie inarray[x][y] == 'f';
undarray[x+3][y+3]=='f';
daher ein paar? - Ich bin versucht zu vergleichen, das auftreten der char, so, wie es und Beispiel, wenn das array ausgedruckt werden V V T A B C... ... dann wäre die Funktion drucken Sie wie "Zeilen 1 paar"
- Bitte Gedankenstrich richtig. Es ist eine Frage von Respekt, wenn Sie um Hilfe bitten.
- siehe meine neue Antwort unten, um Ihre Fragen. Es enthält Beispiel-Ausgänge, und Erklärungen, wie/warum Sie erstellt wurden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie die passenden Paare in Spalten-scan für jede Zeile außer der letzten, und für jede Spalte, vergleichen Sie den Wert auf
array[row][col]
mit dem Wert beiarray[row+1][col]
und Bericht entspricht.Finden Sie die passenden Paare in Zeilen-scan für jede Spalte außer der letzten, und für jede Zeile, vergleichen Sie den Wert auf
array[row][col]
mit dem Wert beiarray[row][col+1]
und Bericht entspricht.Beispiel:
Code:
Wenn Sie nicht über C99-Unterstützung können Sie erklären
row
undcol
oben die Funktion anstatt in die Schleifen als nötig.[Bearbeiten neue Informationen, alten code entfernt]:
In diesem code-segment, Generiere ich die Zeilen und Spalten, ähnlich zu dem, was Sie getan haben, aber weil ich nicht die
random();
Funktion, ich schrieb meine eigenen. Und in es, ich machte es möglich einzustellen, so dass es garantiert Paare innerhalb der erstellten Muster. Dies ermöglicht Ihnen zu sehen, dass die "Paare" zählt innerhalb der Spalten und Zeilen korrekt erfolgt. Ohne diese Fähigkeit zu testen, fand ich, dass die random-Funktion nur selten erstellt zusammenhängenden Proben des gleichen Wertes (ein paar). Suchen Sie die Kommentare in derrandom()
Funktion, und es laufen in beide Richtungen, mitclock()
kommentiert (zwei stellen), und unkommentiert.Geändert
random()
Funktion:Hier ist der neue code: (ohne änderungen angezeigt, nur oben)
Folgenden zwei Bilder zeigen (1), die normalerweise erzeugten Proben (kleine Anzahl der Paare 0 Paare), und die zweite Daten erzeugt, die mit der kommentierten
clock()
- Funktion, um Kraft, viele Paare:Normalerweise generiert Proben:
Proben erstellt, die mit modifizierten random () - Funktion: