Probleme mit whileSchleife



  • Ich habe ein Posting zur Addition von Arrayeinträgen und zur Quadrierung der
    Summen bei gleichen Zahlen gemacht.
    Dank Chris habe ich das Programm, welches gut läuft.
    Das Problem ist die anfängliche whileSchleife, weil ich mehrere Arrays einlese von mehreren Datei, denn bislang wird nur das erste Array richtig eingelesen, und bei den nächsten Dateien wird nur das Ergebnis des 1. Arrays ausgegeben.
    Also geht er nur das erste mal durch die whileSchleife. Meine Frage, ist es möglich, ohne den Code groß zu ändern aus der whileSchleife vielleicht eine forSchleife zu machen?

    while (i < ANZ) 
      { 
          zahl = 0; 
          cnt  = 1; 
    	  while (array[i] == arrayRi[i + cnt]) 
             cnt++; 
    	  for (u = i; u < (i + cnt); u++) 
    		  zahl += arrayRi[u]; 
          printf("\nSumme:   %d", zahl); 
          zahl *= zahl; 
          printf("\nQuadrat: %d\n", zahl); 
          erg += zahl; 
    	  i   += cnt; 
       } 
       printf("\nErgebn.: %d\n", erg);
    


  • Ich habe ein Posting zur Addition von Arrayeinträgen und zur Quadrierung der
    Summen bei gleichen Zahlen gemacht.
    Dank Chris habe ich das Programm, welches gut läuft.
    Das Problem ist die anfängliche whileSchleife, weil ich mehrere Arrays einlese von mehreren Datei, denn bislang wird nur das erste Array richtig eingelesen, und bei den nächsten Dateien wird nur das Ergebnis des 1. Arrays ausgegeben.
    Also geht er nur das erste mal durch die whileSchleife. Meine Frage, ist es möglich, ohne den Code groß zu ändern aus der whileSchleife vielleicht eine forSchleife zu machen?

    while (i < ANZ) 
      { 
          zahl = 0; 
          cnt  = 1; 
    	  while (array[i] == array[i + cnt]) 
             cnt++; 
    	  for (u = i; u < (i + cnt); u++) 
    		  zahl += array[u]; 
          printf("\nSumme:   %d", zahl); 
          zahl *= zahl; 
          printf("\nQuadrat: %d\n", zahl); 
          erg += zahl; 
    	  i   += cnt; 
       } 
       printf("\nErgebn.: %d\n", erg);
    

  • Mod

    for (;i < ANZ;) { ...}
    

    😃



  • so leicht geht es leider nicht, er gibt mir dennoch das Beschriebe aus.
    Ist es möglich die whileSchleife so umzuschreiben, dass es dennoch das selbe ergibt?



  • Was willst Du?
    Erst fragst Du, ob man aus der while-Schleife eine for-Schleife machen kann, ohne viel Code zu ändern.
    Das ist Dir gezeigt worden.
    Nun willst Du "die whileSchleife so umzuschreiben, dass es dennoch das selbe ergibt"?
    Was macht es für einen Sinn, die Schleife umzuschreiben, wenn am Ende dasselbe rauskommen soll?

    Irgendwie wird Dein Problem nicht so recht deutlich ...


Anmelden zum Antworten