kurs lesen
-
Du bist im falschen Forum du programmierst C und kein C++.
-
ich weisse, aber so auch ein Idee wie man das unter C++ macht schadet nicht!
-
In c++ macht man es nicht mit Arrays sondern mit der STL, das könnte dann so ungefähr aussehen. Der Vorteil ist, dass die Vectoren eine dynamische Größe haben und man nichts auf den Heap legen muss.
#include <iostream> #include <vector> using namespace std; int main() { vector< vector<int> > varray; vector<int> spalte_1; for(int i = 0; i < 10; i++) spalte_1.push_back(i); vector<int> spalte_2; for(int i = 0; i < 10; i++) spalte_2.push_back(i); varray.push_back(spalte_1); varray.push_back(spalte_2); for (vector< vector<int> >::size_type zeilen_size = 0; zeilen_size < varray.size(); zeilen_size++){ for (vector<int>::size_type spalten_size = 0; spalten_size < varray[zeilen_size].size(); spalten_size++){ cout << varray[zeilen_size][spalten_size] << " "; } cout << endl; } cin.get(); return 0; }
-
keleto schrieb:
ich weisse, aber so auch ein Idee wie man das unter C++ macht schadet nicht!
du wirst sie kaum verstehen
vorschau: hmm... naja - spätestens bei der for-schleife wird er nicht mehr durchsehen...

-
stimmt, das war mir ein bischen schwer

-
ich habe bis jetzt folgendes aber irgenwie klappt nicht wenn mit der Binäriesierungs funktion!! leider(hat funktioniert aber komisch ergebniss)
hat jemand eine Idee wie ich nur der erste spalte Binäriesier aber 7 bit grösser
Danke!
-------------------------------------------------
/* 2D_dyn_array.c */
#include <stdio.h>
#include <stdlib.h>
#define BUF 255
int PrintBin(int j)
{
if (j!=0) {
PrintBin(j/2);
if ((j % 2) == 0) {
//cout << "0";
printf("0");
scanf("%d",0);
}
else {
//cout << "1";
printf("0");
scanf("%d",0);
}
}
}
int main(void) {int i, j =0, zeile, spalte;
/* Matrix ist Zeiger auf int-Zeiger */
int ** matrix;
printf("Wie viele Zeilen : ");
scanf("%d", &zeile);
printf("Wie viele Spalten: ");
scanf("%d", &spalte);
/* Speicher reservieren für die int-Zeiger (=zeile) */
matrix = (int **)malloc(zeile * sizeof(int *));
if(NULL == matrix) {
printf("Kein Virtueller RAM mehr vorhanden ... !");
return EXIT_FAILURE;
}
/* Jetzt noch Speicher reservieren für die einzelnen Spalten
* der i-ten Zeile */
for(i = 0; i < zeile; i++) {
matrix[i] = (int *)malloc(spalte * sizeof(int));
if(NULL == matrix[i]) {
printf("Kein Speicher mehr fuer Zeile %d\n",i);
return EXIT_FAILURE;
}
}
/* Mit beliebigen Werten initialisieren /
for (i = 0; i < zeile; i++)
for (j = 0; j < spalte; j++)
// matrix[i][j] = i+j; / matrix[zeile][spalte] */
matrix[i][j] = PrintBin(j);
/* Inhalt der Matrix entsprechend ausgeben */
for (i = 0; i < zeile; i++) {
for (j = 0; j < spalte; j++)
printf("%d ",matrix[i][j]);
printf("\n");
}
/* Speicherplatz wieder freigeben
* Wichtig! In umgekehrter Reihenfolge */
/* Spalten der i-ten Zeile freigeben */
// for(i = 0; i < zeile; i++)
//free(matrix[i]);
/* Jetzt können die leeren Zeilen freigegeben werden */
//free(matrix);
system("PAUSE");
return EXIT_SUCCESS;
}
-
warum machst du nicht eine bool **matrix , wenn du nur 1 und 0 haben möchtest?
-
aber wie geht das bitte?
ich möchte das ergebniss in form:
1 0000001
2 0000010
3 0000011
4 0000100
5 0000101
....
-
du kannst doch bei der Ausgabe in der for-Schleife eine Variable i mitlaufenlasen die du zusätzlich ausgibst
-
du hast doch bei der Ausgabe in der for-Schleife eine Variable i mitlaufenlasen die du zusätzlich ausgibst
/* Inhalt der Matrix entsprechend ausgeben */ for (i = 0; i < zeile; i++) { printf("%i ", i + 1); for (j = 0; j < spalte; j++) printf("%d ",matrix[i][j]); //%d auf bool-matrix ändern printf("\n"); }EDIT: Nun kannst du die bool **matrix verwenden
-
Vielen Danke HighLigerBiMBam, kannst du bitte noch mehr vereinfachen, irgendwie komme ich durcheinander
-
keleto schrieb:
Vielen Danke HighLigerBiMBam, kannst du bitte noch mehr vereinfachen, irgendwie komme ich durcheinander
in dem forum erwartet man idR eigeninitiative...
das sind ja nun echt nur 2 schleifen und 3 ausgaben - was gibts daran nicht zu durchschauen?bb
PS: wenn du das nächste mal quellcode postest, nutz doch bitte die C/C++ Tags: [
cpp] code [/cpp]
-
Danke, aber irgendwie funktioniert auch nicht, ich möchte einfach jeder zahl in binäre zahl konventiert aber mit 7 bit grösser!
hat jemand ein Idee
?
in form:1 : 0000001
2 : 0000010
.
.