hilfe bei mehrdim. array



  • Hallo, ich habe folgendes porblem:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAX=12
    
    int main(int argc, char **argv){
    
        int i,j;
        int breite = MAX;
        int hoehe = MAX;
        int mitte = MAX
    
        char arr[MAX][MAX];
    
        for(i=0;i<breite;i++){
            for(j=0;j<hoehe;j++){
    
                 printf("#", arr[i][j]);
    
                 if(arr[i][j] >= arr_[10][0] && arr[i][j] =< arr[10][MAX]){
                          printf("-");
                 }
             }
             printf("\n");
        }
    }
    

    folgendes:

    Ziel sollte es sein, dass es so ausschaut

    ###########
    ###########
    ###########
    ###########
    ###########
    ###########
    ###########
    ###########
    ###########
    ###########
    -----------
    ###########
    

    ich bekomme es jedoch einfach nicht hin

    egal was ich umtue...

    wo ist der hacken, dass es so nicht funktioniert? .. es muss mit den for schleifen und if gelöst werden bzw while oder sonst halt was

    Lg



  • edit: bei define das = weggegeben und das arr_ korrigiert in zeile 20..



  • Hallo,

    int mitte = MAX;
    

    Wozu? Wird doch eh nicht verwendet.

    for(i=0;i<breite;i++){
            for(j=0;j<hoehe;j++){
    

    Ich würde 'breite' und 'hoehe' vertauschen. Hier ist nämlich 'breite' eigentlich die Höhe und 'hoehe' eigentlich die Breite. Kann verwirrend werden, wenn hoehe != breite sein sollte.

    printf ("#", arr[i][j]);
    

    Ich schätze mal, du willst die Raute dem Array-Element zuweisen. Richtig wäre

    arr[i][j] = '#';
    
    if(arr[i][j] >= arr_[10][0] && arr[i][j] =< arr[10][MAX])
    

    In der 11. Zeile sollen anscheinend, anstatt der Rauten, Bindestriche auftauschen. Ich hab das einfach mal so gelöst:

    if (i == 10)
    

    Meine Komplettlösung:

    #include <stdio.h>
    
    #define MAX 12
    
    int main(int argc, char **argv) {
    
        int i,j;
        int breite = MAX;
        int hoehe = MAX;
    
        char arr[MAX][MAX];
    
    	for (i = 0; i < hoehe; i++) {
    		for (j = 0; j < breite; j++) {
    			if (i == 10) {
    				arr[i][j] = '-';
    				printf ("-");
    			}
    			else {
    				arr[i][j] = '#';
    				printf ("#");
    			}
    		}
    		printf ("\n");
    	}
        return 0;
    }
    

    Hoffe, man konnte dir damit helfen.

    Gez. monstermunchkin


Anmelden zum Antworten