1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Wo liegt mein Fehler?

Discussion in 'Programmieren' started by SteffiRV, Mar 26, 2007.

Thread Status:
Not open for further replies.
  1. SteffiRV

    SteffiRV ROM

    #include <stdio.h>

    int main(void){

    °°°° int row;
    °°°°int line;
    °°°°int ctrow;
    °°°°int ctline;

    °°°°printf("Bitte geben sie die Anzahl der Zeilen an: ");
    °°°°scanf("%d",& line);
    °°°°printf("Bitte geben sie die Anzahl der Spalten ein: ");
    °°°°scanf("%d",& row);

    °°°°°while(ctline=1){
    °°°°°°°°°°°°°°°°°°°°ctline=ctline+1;

    °°°°°°°°°°°°°°°°°°°°}
    °°°°while(ctrow=1){
    °°°°°°°°°°°°°°°°°°°°ctrow=ctrow+1;
    °°°°°°°°°°°°°°°°°°°°}
    °°°°printf("%d \n", ctrow*ctline);
    °°°°printf("\n");
    °°°°system("PAUSE");
    °°°°return 0;
    }

    Hallo zusammen,

    ich komme irgendwie mit dieser While-Schleife nicht zurecht. Ich soll eine Multiplikationstabelle erstellen, aber es funktioniert nicht. Kann mir jemand bitte weiter helfen?

    Danke schonmal.

    Steffi
     
  2. m4cg33k

    m4cg33k Byte

    Deine while Schleife macht irgendwie keinen Sinn.

    - Du solltest deine Variablen initalisieren bevor du mit ihnen rechnest.
    - '=' ist eine Zuweiseung '==' ein Vergleich!
    - Ueberlege dir ueber was du eigentlich iterieren willst.

    Das was du willst sollte in etwa so aussehen:

    Code:
    #include <stdio.h>
    
    int main(void)
    {
    	int row;
    	int line;
    	int ctrow = 1;
    	int ctline = 1; 
    
    	printf("Bitte geben sie die Anzahl der Zeilen an: ");
    	scanf("%d", &line);
    	printf("Bitte geben sie die Anzahl der Spalten ein: ");
    	scanf("%d", &row);
    
    	while(ctline <= line)
    	{
    		while(ctrow <= row)
    		{
    			printf("%d ", ctrow * ctline);
    			ctrow++;
    		}
    		printf("\n");
    		ctline++;
    		ctrow = 1;
    	}
    
    	return 0; 
    }
    
    Oder eleganter mit einer for-Schleife:

    Code:
    #include <stdio.h>
    
    int main(void)
    {
    	int row;
    	int line;
    	int ctrow = 1;
    	int ctline = 1; 
    
    	printf("Bitte geben sie die Anzahl der Zeilen an: ");
    	scanf("%d", &line);
    	printf("Bitte geben sie die Anzahl der Spalten ein: ");
    	scanf("%d",	&row);
    
    	for(ctline = 1; ctline <= line; ctline++)
    	{
    		for(ctrow = 1; ctrow <= row; ctrow++) printf("%d ", ctrow * ctline);
    		printf("\n");
    	}
    	
    	return 0; 
    }
    
    Und wozu soll das 'system("PAUSE");' gut sein?
     
  3. SteffiRV

    SteffiRV ROM

    Danke für Deine Hilfe.

    Ich find es wirklich sehr nett von Dir, dass du es geholfen hast.

    Das system("PAUSE"); benötige ich bei DevC++ damit das Dos-Fenster auf bleibt. Ansonsten springt das Fenster gleich wieder zu. Hat also keine größere Bedeutung.

    Eine Frage hätte ich aber doch noch.

    Du schreibst in deinem Programm einmal ctrow++ und ctline++.

    Korregier mich wenn ich falsch liege, aber das ++ bedeutet das man ctrow und ctline addiert oder?

    Liebe Grüße

    Steffi

    Sorry, dass ich so doof frage, aber ich gehör erst seit ca 14 Tagen zum Club der Programmierer :D
     
  4. m4cg33k

    m4cg33k Byte

    'variable++' bedeuted das man diese inkrementiert.

    Dh. 'variable++' == 'variable += 1' == 'variable = varibale + 1'

    Gruss M.
     
Thread Status:
Not open for further replies.

Share This Page