Seite 1 von 1
int array[n][m] Outputfile
Verfasst: 4. Oktober 2014 00:38
von fightback
Hi,
ich will über den Qt-Creator in C++ einen zweidimensionalen Array erstellen. Die Ausgabe der "Datei" soll in Form einer Textdatei als Matrix angezeigt werden.
ungefähr so:
01001011001001001100
10010110001010010010
01001001100001011010
10011010011011101010
Idee war im GUI ein textEdit für die Ausgabe zu nutzen. Alles probiert, im Netz nicht wirklich schlau geworden.
Bitte um Hilfe
danke euch!
Viele Grüße
Re: int array[n][m] Outputfile
Verfasst: 4. Oktober 2014 09:13
von Christian81
Was genau hast Du probiert? Was genau hat nicht funktioniert? Das Einlesen der Datei, das Darstellen, ... ?
Re: int array[n][m] Outputfile
Verfasst: 4. Oktober 2014 13:55
von fightback
Danke für deine Antwort!
array ist erstellt.
int output [n][m];
das einzige was mir bisher im Ansatz passt ist folgendes:
Code: Alles auswählen
output[n];
char text[1000] = {0};
char *p = text;
size_t i = 0;
for(i = 0; i < sizeof output / sizeof *output; ++i){
sprintf(p += strlen(p), "%d", output[i]);
}
printf("%s\n", text);
ui->textEdit->append(text);
Dabei habe ich keine Ahnung wozu ich den char [text] benötige, etc.
Die Zeilen habe ich per copy & paste aus dem Netz... nicht grade professionell, ich weiß.
Problem ist dass ich damit nur einen eindimensionalen arrray auslesen kann, was für mich recht umständlich ist. Habe mir mit einer for schleife um den gesamten Code dann weitergeholfen, bloß lässt mich dieser Weg nicht sehr flexibel bei der Erstellung des Arrays.
danke!!
Re: int array[n][m] Outputfile
Verfasst: 5. Oktober 2014 19:46
von Christian81
Für mich sieht das so aus als würden hier grundlegende Kenntnisse fehlen. Ich weiß immer noch nicht wo die Daten herkommen, wo sie genau hinsollen und ob du nun C, C++ oder Qt dazu verwenden möchtest.
Wenn alle Daten in einem eindimensionalen int-Array (C) sind, dann wäre so etwas denkbar
Code: Alles auswählen
// Eingangsdaten, woher auch immer, Größe ist n*m
int input[n*m];
// Ausgabestring im gewünschten Format
QString myString;
for(int i = 0; i < n; ++i) {
for(int j = 0; j < m; ++j) {
str += QString::number(input[i*m+j]);
}
str += '\n';
}
Re: int array[n][m] Outputfile
Verfasst: 9. Oktober 2014 16:12
von fightback
Bamm! habe eine Lösung gefunden, danke!
Code: Alles auswählen
int matrix[2][2]; //Beispiel
matrix [0][0]=0;
matrix [0][1]=1;
matrix [1][0]=2;
matrix [1][1]=3;
QString text;
for (int i=0 ; i < 2; i++)
{
for (int j=0; j< 2;j++){
text += QString::number(matrix[j][i]);
}
text += "\n";
}
ui->textEdit_3->setPlainText(text);