Array erstellen



  • Boah, dazu hätte ich gerne eine Erklärung. 😮

    Aber kann man nicht:

    int digit[10] = {0,9,4,...};
    

    machen? 😕



  • estartu_de schrieb:

    Boah, dazu hätte ich gerne eine Erklärung. 😮

    Aber kann man nicht:

    int digit[10] = {0,9,4,...};
    

    machen? 😕

    Kannst du schon, ich nicht weil ich's immer vergesse 😉

    Erklärung 10 äussere Schleifendurchläufe für 10 Permutationen.
    Dann fängt er im i.ten durchlauf damit an, das i.te Element aus 'digit' als 0tes in den array[i] zu schreiben, dann noch alle anderen hinterher.



  • Adjip1 schrieb:

    for (y=0; y<1; y++)
    {
    array[x][y] = a;
    }

    Das ist übrigens das gleiche wie

    array[x][0] = a;
    

    Alte Programmierregel: Wenn du nur einmal durchläufst, brauchst du keine Schleife. 😉



  • Hmm, ich glaube dass muss ich mir aufmalen - das kriege ich im Kopf nicht hin.



  • Das ist der ganze (lauffähige) Zauber:

    using namespace std;
    
    int main()
    {
    
    	int digit[10] = {0,9,4,6,8,2,7,1,3,5};
    	int array[10][10];
    
    	for (int i = 0; i <= 9; i++)
    		for (int j = i; j <= (i+9); j++)
    			array[i][j-i] = digit[j%10]; 
    
    	// Ausgabe
    	for (int i = 0; i <= 9; i++) {
    		for (int j = 0; j <= 9; j++)
    			cout << array[i][j] << " ";
    
    		cout << endl;
    	}
    	return 0;
    }
    

    Ausgabe:

    0 9 4 6 8 2 7 1 3 5
    9 4 6 8 2 7 1 3 5 0
    4 6 8 2 7 1 3 5 0 9
    6 8 2 7 1 3 5 0 9 4
    8 2 7 1 3 5 0 9 4 6
    2 7 1 3 5 0 9 4 6 8
    7 1 3 5 0 9 4 6 8 2
    1 3 5 0 9 4 6 8 2 7
    3 5 0 9 4 6 8 2 7 1
    5 0 9 4 6 8 2 7 1 3
    


  • int sesamstrasse[] = {0, 9, 4, 6, 8, 2, 7, 1, 3, 5};
        int warum[10][10];
        for(int wieso=0; wieso<10; ++wieso)
            for(int weshalb=0; weshalb<10; ++weshalb)
                warum[wieso][weshalb] = sesamstrasse[(wieso+weshalb)%10];
    


  • estartu_de schrieb:

    Hmm, ich glaube dass muss ich mir aufmalen - das kriege ich im Kopf nicht hin.

    Genau, mal einfach mal die ersten beiden Schleifendurchläufe von 'i'.



  • @Gast221212
    Vielen Dank für deine Hilfe! Jedoch lauft dein Code bei mir immer noch nicht 😞 , ist das echt weil ich mit einem anderen Compiler arbeite? Ich arbeite mit Visual Studio...

    Kannst du mir echt sagen, was "using namespca std;" bedeutet? Ist das eine Art Bibliothek?
    Und was folgende zwei Befehlszeilen bewirken?
    cout << array[i][j] << " ";

    cout << endl;

    Es tut mir leid, wenn ich solche Fragen stelle, aber ich bin halt wirklich noch ein richtiger Neuling 🙄



  • Windows, VC++ .NET 2003,

    Datei -> Neu -> Projekt -> VC++ Projekt -> Win32 Konsolenprojekt.

    Dann cpp durch folgendes ersetzen:

    // cmdline_test.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    using namespace std;
    
    int main()
    {
    
    	int digit[10] = {0,9,4,6,8,2,7,1,3,5};
    	int array[10][10];
    
    	for (int i = 0; i <= 9; i++)
    		for (int j = i; j <= (i+9); j++)
    			array[i][j-i] = digit[j%10]; 
    
    	// Ausgabe
    	for (int i = 0; i <= 9; i++) {
    		for (int j = 0; j <= 9; j++)
    			cout << array[i][j] << " ";
    
    		cout << endl;
    	}
    	return 0;
    }
    


  • Adjip1 schrieb:

    @Gast221212
    Vielen Dank für deine Hilfe! Jedoch lauft dein Code bei mir immer noch nicht 😞 , ist das echt weil ich mit einem anderen Compiler arbeite? Ich arbeite mit Visual Studio...

    Kannst du mir echt sagen, was "using namespca std;" bedeutet? Ist das eine Art Bibliothek?
    Und was folgende zwei Befehlszeilen bewirken?
    cout << array[i][j] << " ";

    cout << endl;

    Es tut mir leid, wenn ich solche Fragen stelle, aber ich bin halt wirklich noch ein richtiger Neuling 🙄

    cout ist printf("") in C++, wenn du C machen willst, kannst du auch die Bildschirmausgabe mit printf machen.

    cout << array[i][j] << " ";
    

    ist (quasi) dasselbe wie

    printf("%d ", array[i][j]);
    

    endl ist (quasi) dasselbe wie '\n'

    damit du cout und endl verwenden kannst musst du

    "using namespace std" machen, sonst weis der Compiler nicht wo er's suchen soll.

    Unter VC musst du übrigens mit Strg+F5 ausführen, nicht mit F5 allein!



  • @Gast221212
    Ok, vielen Dank für die Erklärung und Hilfe. 🙂


Anmelden zum Antworten