Einzelnen Beitrag anzeigen
Ungelesen 05.02.11, 19:18   #1
fontsix
Anfänger
 
Registriert seit: Nov 2008
Beiträge: 8
Bedankt: 0
fontsix ist noch neu hier! | 0 Respekt Punkte
Standard Fehlersuche in C

Hallo zusammen ich bin dabei mich auf eine kommende Klausur vorzubereiten. In diesem Programm sollen 10 Fehler sein, wovon ich bereits 9 gefunden habe. Daher erscheinen also auch manche Stellen als fehlerfrei, also bitte nicht wundern. Nun suche ich allerdings schon hartnäckig seit einer Weile den 10. Fehler. Ich vermute folgende Geschichte, p ist ja als Zeiger deklariert, in einer Zeile wird dann allerdings p=a; gesagt, der Compiler meckert aber nicht, und in der Zeile mit dem
PHP-Code:
 scanf("%lf",p++); 
kommt mir irgendetwas spanisch vor, p ist ja nicht als variable deklariert und ist es möglich innerhalb des scanf-Befehls irgendetwas hochzählen zu lassen ? Das ergibt für mich keinen Sinn. Würde mich freuen wenn jemand helfen kann.

Liebe Grüße Marcel

PHP-Code:
#include<stdlib.h>    // #include<stdlib.h> fehlt    - 1. Fehler
#include<stdio.h>    // #include<stdio.h>    -    2. Fehler
#include<math.h>
#define DIM 30            // #define DIM 30        -    3. Fehler
/* Mittelwerter und der Streuung von Messungen*/
int main()
int i,n;
  
double a[DIM],s1,s2,mw,str,*p;
  
printf("\nEingabe von n ");
  
scanf("%d",&n);        // scanf("%d",&n); oder scanf("%i",&n);        -    4. Fehler
  
if (n>DIM)
  { 
fprintf(stderr,"Die Dimension ist zu gross");    // fprintf(stderr,"Die Dimension ist zu gross");        -    5. Fehler
    
exit(2);
  }
  
p=a;  
  for (
i=0;i<n;i++)
  { 
printf("\nEingabe von a[%2d] ",i);        // printf("\nEingabe von a[%2d] ",i);    -    6. Fehler
    
scanf("%lf",p++);    
  }
  
s1=s2=0;
 
  for (
i=0;i<n;i++)
  { 
s1+=a[i];
    
s2+=a[i]*a[i];        // s2+=a[i]*a[i];        -    7. Fehler
  
}
  
mw=s1/n;            // mw=s1/n;        -    8. Fehler
  
str=sqrt((s2-n*mw*mw)/(n-1));        //  str=sqrt((s2-n*mw*mw)/(n-1));        -    9. Fehler
  
printf("\nMittelwert = %lf",mw);
  
printf("\nStreuung = %lf",str);
  return 
0;
  } 
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
fontsix ist offline   Mit Zitat antworten