Dobry,
od kilku dni zacząłem bawić się w programowanie. Robię teraz kurs z YT, i było tam zadanie do samodzielnego wykonania (odrobinę zmodyfikowane przeze mnie): najpierw pytam ile liczb chce podać, następnie je podaje, liczę średnia i mam wskazując która liczba jest najbliżej średniej.
Uznamem, że najlepiej będzie użyć wartości bezwzględnej, badam różnice między zadana liczba a średnia wszystkich. I najbliższa średniej to ta dla której najmniejsza jest wartość bezwzględna. Ale mam pewien problem ponieważ mam tu 2 tablice i bardzo indeksowanie mi się rozłazi i dodatkowo dla liczb z przecinkami nie liczy tez dobrze abs...
#include <iostream>
#include <cmath>
using namespace std;
int liczba;
float *liczby = new float [liczba];
float *odleglosc = new float [liczba];
float srednia (float *liczby, int liczba)
{
float suma=0;
for (int i=0; i<liczba; i++)
{
suma += liczby[i];
liczby[i]++;
}
return suma/(liczba);
}
int main()
{
cout << "Ile liczb chcesz podac: ";
cin>> liczba;
for (int i=0; i<liczba; i++)
{
cout<<"Podaj "<<i+1<<" liczbe: ";
cin>>liczby[i];
}
cout<<endl<<"Srednia jest rowna: "<<srednia(liczby,liczba)<<endl<<endl;
for (int i=0; i<liczba; i++)
{
odleglosc[i] = (liczby[i]-srednia(liczby, liczba));
cout<<"Odleglosc liczby "<<liczby[i]<<" od sredniej jest rowna: "<<abs(odleglosc[i])<<endl;
//odleglosc[i]++;
}
cout<<endl;
for (int i=0; i<liczba; i++)
{
cout<<i+1<<" liczba teraz to: "<<liczby[i]<<endl;
}
return 0;
}