?
Auf die Schnelle noch mit structs
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct { float x,y,z; } koord;
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
float rechnung_umfang(koord*,int);
koord rechnung_schwerpunkt(koord*,int);
int main(){
int i=3, zaehler;
koord punkte[i];
float umfang;
koord schwerpunkt;
for(zaehler=0;(zaehler+1)<=i;zaehler++){
printf("\nBitte Geben Sie den X- und Y-Wert fuer Zahl %i ein: ",(zaehler+1));
scanf("%f,%f",&punkte[zaehler].x,&punkte[zaehler].y);
}
umfang=rechnung_umfang(punkte,i);
schwerpunkt = rechnung_schwerpunkt(punkte,i);
printf("\nUmfang: %.2f \nSchwerpunkt: ( %.2f | %.2f )",umfang,schwerpunkt.x,schwerpunkt.y);
return 0;
}
float rechnung_umfang(koord *punkte, int i){
int zaehler,xdif,ydif;
//printf("\ni=%i",i);
float umfang=0;
for(zaehler=0;(zaehler+1)<=i;zaehler++){
if((zaehler+1)==i){
xdif=abs(punkte[zaehler].x-punkte[0].x);
ydif=abs(punkte[zaehler].y-punkte[0].y);
}
else{
xdif=abs(punkte[zaehler].x-punkte[zaehler+1].x);
ydif=abs(punkte[zaehler].y-punkte[zaehler+1].y);
}
//printf("\nxdif: %i,ydif: %i",xdif,ydif);
umfang+=sqrt((xdif*xdif+ydif*ydif));
}
return umfang;
}
koord rechnung_schwerpunkt(koord *punkte,int i){
int zaehler;
float summex=0,summey=0;
koord schwerpunkt;
for(zaehler=0;(zaehler+1)<=i;zaehler++){
summex+=punkte[zaehler].x;
summey+=punkte[zaehler].y;
}
//printf("\nsummex=%i, summey=%i",summex,summey);
schwerpunkt.x=summex/i;
schwerpunkt.y=summey/i;
return schwerpunkt;
}
Habe vorhin die Sicherheitsabfrage verpennt