Algoritmi con i cicli e codifica in C++

In questo articolo con video esaminiamo, la scrittura di un algoritmo con l’uso dello strumento Algobuild e la relativa codifica in C++.
Il tutto tramite un esercizio svolto.
La traccia dell’esercizio:
Scrivere un algoritmo e successivo programma in C++ che riceva in input una sequenza di numeri interi. La digitazione si interrompe quando l’utente digita zero. Il programma deve visualizzare i numeri negativi e positivi, calcolare la somma e la media dei numeri negativi e positivi.
Tutti i risultati sono poi prodotti in output.
La soluzione del problema prevede una serie di variabili secondo la sotto riportata tabella:

UsoNomeTipoDescrizione
Inputnuminteroi numeri in input
Lavorocp, cninterocontatore numeri positivi e negativi
Outputsp, snInteroSomma dei positivi e dei negativi
Outputmp, mnRealeMedia dei numeri negativi e positivi

L’algoritmo risolutivo è:

Il codice C++ è:

#include <iostream>
using namespace std;
int main()
{
	int num,sp=0,sn=0,cp=0,cn=0;
	float mp=0.0,mn=0.0;
	cout << "\n Inserisci un numero:";
	cin >> num;
	while (num!=0)
	{
		if (num>0)
		{
			cout << "Numero positivo:"<< num << endl;
			cp++;
			sp=sp+num;
		}
		else
		{
			cout << "Numero negativo:"<< num << endl;
			cn++;
			sn=sn+num;
		}
		cout << "\n Inserisci un numero:";
		cin >> num;
	}
	cout << "La somma e la media dei positivi:"<< sp <<endl;
	mp=((float)sp)/((float)cp);
	mn=((float)sn)/((float)cn);
	cout << mp << endl;
	cout << "La omma e la media dei negativi:"<< sn<<endl<<mn<< endl;
	return 0;
}


Ecco un video a supporto dell’articolo