Statistiques (moyenne, tri, médiane, étendue)

Contenu du snippet

Mon premier prog c++. Je part d'une source d'un bouquin et je l'ai étendue

Source / Exemple :


#include <iostream.h>
#include <string.h>
#include <stdlib.h>

void main()
{
	int cnt,sercnt,cnt2[2];
	int i,c;
	char buffer[128],buf[5];
	double *n=NULL;
	double *blp;
	double sum=0.0;
	double min,max,tmp;
	float result;
	double med;

	//cout<<"/033[2J";
	cout << "\t\tCalculs statistiques\n";
	cout << "Statistiques sur une liste\n";
		cout << "Terminer la serie par \"f\"\nLes entrees non numeriques seront considerees comme egales a 0\n\n";
		cnt=0;
		do
		{
			cout << "Nombre nø "<<cnt+1<<" : ";
			cin.getline(buffer,128);
			if (strcmp("f",buffer))
			{
				if ((n=(double *) realloc(n,(cnt+1)*sizeof(double)))==NULL)
				{
					cout<<"Memoire insuffisante";
					break;
				}
				n[cnt]=atof(buffer);
				blp=n;
				cnt++;
			}
		} while (buffer[0]!='f');
		if (cnt>0)
		{
			if (n==NULL)
				n=blp;
		cout << "\nVous avez saisi : "<<cnt<<" nombre(s)";
			for(i=0;i<cnt;i++)
				sum=sum+n[i];
			cout<<"\nSomme : "<<sum;
			cout <<"\nMoyenne : "<<sum/cnt;
			min=n[0];
			for (i=0;i<cnt;i++)
				if (min>n[i])
					min=n[i];
			max=n[0];
			for (i=0;i<cnt;i++)
				if (max<n[i])
					max=n[i];
			cout <<"\nMinimum : "<<min;
			cout <<"\nMaximum : "<<max;
			cout <<"\nEtendue : "<<max-min;
			for (i=0;i<cnt;i++)
			{
				for (c=0;c<(cnt-1);c++)
				{
					if (n[c]>n[c+1])
					{
						tmp=n[c+1];
						n[c+1]=n[c];
						n[c]=tmp;
					}
				}
			}
			cout<<"\nNombres tries :\n";
			for (i=0;i<cnt;i++)
				cout<<n[i]<<" ";
			result=float (cnt)/2;
			i=cnt/2;
			if (i==result)
			{
				//cout<<"\nle nombre d\'entrees est paire";
				med=float((n[i-1]+n[i])/2);
			}		
			else
			{
				//cout <<"\nle nombre d\'entree est impaire";
				med=n[i-1];
			}
			cout <<"\nMediane : "<<med; 
			cout <<"\n\n";
			cin.getline(buffer,128);
			exit(0);
		}
		if (n!=NULL)
		{
			free(n);
		}
	}

Conclusion :


Merci de ne pas faire la réflexion "C'est pour quel compilateur?" Démerdez vous. Pour une source de ce niveau, il n'y a pas besoin d'explications de compilateur...Non mais.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.