Aufgabe Matrix



  • Und in der win32-konsolenanwendung mit printf(".."); ?



  • printf("Matrix A Zeilen: ");
    scanf("%d",&nAZeilen);
    printf("Matrix A Spalten: ");
    scanf("%d",&nASpalten);
    printf("\n");

    for(i=0;i<nAZeilen;i=i+1)
    {
    for(j=0;j<nASpalten;j=j+1)
    {
    printf("Element A%d,%d: ",i,j);
    scanf("%d",??????);
    printf("\n");

    was muss anstelle der Fragezeichen hin? Wo sollen diese Eingaben gespeichert werden, wenn ich dann mit ihnen weiter rechnen will?
    Entweder seh ich den Wald vor lauter Bäumen nicht oder ich steh grad auf dem Schlauch 😃



  • Willst du denn jetzt in C oder C++ dein Programm erstellen?

    Evtl. kann ein Mod diesen Beitrag dann in das entsprechende Subforum verschieben, denn mit MFC hat es wohl nichts zu tun.

    So wie CTecS schon angedeutet hast, benötigst du ein dynamisches Array (in C mit malloc(), in C++ z.B. mittels std::vector).



  • Microsoft visual c++ win 32 konsolenanwendung.



  • @helpmeplease:

    Also sorry wenn ich das jetzt sagen muss, aber wenn du mein beispiel nicht umsetzen kannst und dann noch noch fragst welche Variablen du anstelle der Fragezeichen einsetzen sollst, dann würde ich sagen du bist noch nicht so weit. Setz dich mit den Grundlagen auseinander, Konsolenanwendung cin und cout was sind Variablen wie werden diese angelegt, wie kann man damit arbeiten und diese weiterverarbeiten und wenn du das verstanden hast dann wage dich an ein eindimensionales Array oder vector ran, versteh was da passiert und dann kannst du dich mit 2 oder 3 Dimmensiopnen beschäftigen dann brauchst du sicher auch keine Beispiele mehr wie das umgesetzt wird. Nur so scheinen dir echt die grundlagen zu fehlen das um zu setzen geschweige dann weitere Sachen und ich würde Wetten das es nur ein teil deines vorhabens ist.

    aber wie gesagt mein Beispiel hat alles drin was du brauchst du musst es nur in sourcecode "übersetzen" und wenn du schauen würdest hab ich dir auch gezeigt das du dir speicher reservieren musst und wie du das Array beschreiben kannst.



  • CTecS schrieb:

    ..., dann würde ich sagen du bist noch nicht so weit.

    Unbestritten, die Vermutung liegt nahe. Um so unpassender finde ich den verwirrenden Pseudoquelltext.
    Sowas wie das hier kann man sich dann auch sparen:

    CTecS schrieb:

    Zeile = cin;
    Spalte = cin;
    
    mem = alloc[Zeilen][Spaten];
    
    for (zeile = 0;zeile < Zeilen;zeile++)
        for (spalte = 0;spalte < Spalten;spalte++)
        {
            wert << cin;
            mem[zeile][spalte] = wert;
        }
    

    vielleicht bringt dich das zuum Ziel

    Sicher wird dieses Pseudoprogramm jeden Anfänger in den Wahnsinn treiben und mit einiger
    Sicherheit zu keinerlei Ziel. Das hätte man sich so auch sparen können.

    - Zeile = cin; Ist noch nicht mal Pseudocode sondern grober Unfug!

    - alloc als Variablenname oder als Funktion; gehts noch ?

    BEM: Befehl alloc gibts natürlich nicht und wie Du ja schon angemerkt hast ist das mit den mehrdimensionalen
    Feldern etwas kompliziert. Hier wäre eine etwas konkretere Hilfe wirklich nett gewesen

    - Die Wahl der Variablennamen könnte man auch etwas deutlicher gestalten

    In C++ kann das z.B. so aussehen:

    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    	int Zeilen, Spalten;
    
    	cout << "Spalten:";
    	cin >> Spalten;
    
    	cout << "Zeilen:";
    	cin >> Zeilen;
    
    	int **feld = new int* [Zeilen] ;
    
    	// Feld einlesen
    	for( int y = 0  ; y < Zeilen ; ++y )
    	{
    		feld[y] = new int [Spalten];
    
    		for( int x = 0 ; x < Spalten ; ++x )
    		{
    			cout << "[" << x << "," << y << "]=";
    			cin >> feld[y][x];
    		}
    	}
    
    	// feld bearbeiten
    	// ...
    
    	// feld wieder loeschen
    	for(int y = 0; y < Zeilen; y++) {
    		delete[] feld[y];
    	}
    
    	delete[] feld; 
    
    	return 0;
    }
    

    Eine Portierung des codes auf ANSI-C würde ähnlich aussehen.

    Auf die Verwendung der STL (vector) habe ich hier verzichtet.

    CTecS schrieb:

    ... aber wie gesagt mein Beispiel hat alles drin was du brauchst du musst
    es nur in sourcecode "übersetzen" und wenn du schauen würdest hab ich dir auch gezeigt das
    du dir speicher reservieren musst und wie du das Array beschreiben kannst.

    Das Beispiel enthält sicher alles um Anfänger zu frustrieren und klingt fast wie Hohn.
    Um als Anfänger sowas zu verstehen trägt falscher Code nicht bei. Auch ein paar Quelltext Kommentare wären nett.
    (Etwas weniger Überheblichkeit wenn es sich offensichtlich um absolute Anfänger handelt würde ich mir auch wünschen ...)

    Ich würde für eine umfassende Erklärung des Programms DRINGEND ein Tutorial oder ein gutes Buch
    empfehlen. Das würde den Rahmen hier (für mich) sprengen ...



  • Th69 schrieb:

    Willst du denn jetzt in C oder C++ dein Programm erstellen?

    helpmeplease schrieb:

    Microsoft visual c++ win 32 konsolenanwendung.

    Das ist absolut nicht die Antwort auf die Frage.

    Kennst Du den Unterschied zwischen ANSI-C und C++ ?

    Wenn nicht bitte nachlesen z.b. bei Wikipedia.



  • @merano

    Wie sollte ich denn Wissen das der Wissenstand des TE am Punkt Null ist und mit sicherheit kann meine Beispiel jemand mit Grundkennnissen umsetzen der nur einfach nixht auf die Lösung seines Problemes kommt.

    Aber mit deiner Hilfe hat der TE ersteller ja nun den kompletten Source bekommen, wenn dann als nächstes mal wieder fragen auf tauchen weil er doch nur mal ohne irgendwelche erfahrungen nen Programm schreiben will um nen Spiel zu Modden oder so, dann darfst du dich selbstreden wieder mit kompletten Lösungen seiner annehmen, denn ich glaube nicht das er sich das nötige wissen aneignet



  • CTecS schrieb:

    ... weitere Sachen und ich würde Wetten das es nur ein teil deines vorhabens ist.

    Das sehe ich auch so 👍

    Wenn er alle Deine Ratschläge befolgt und die Grundlagen dann (hoffentlich) hat, hoffe ich das er mit dem
    vorgeschlagenen Gerüst sein "Vorhaben" erfolgreich umsetzen kann. Insofern kann natürlich von komplett keine Rede sein.

    Mal sehen, ob wir auch eine Reaktion vom TE bekommen, sonst wars das an dieser Stelle.



  • Wenn er alle Deine Ratschläge befolgt und die Grundlagen dann (hoffentlich) hat, hoffe ich das er mit dem
    vorgeschlagenen Gerüst sein "Vorhaben" erfolgreich umsetzen kann.

    Für mich sieht das eher nach Hausaugfgabe aus.


Anmelden zum Antworten