Próbuje przebrnąć przez kurs pana Zalenta i podczas 11 lekcji zadał on zadanie domowe: Mam napisać program który liczy średnią z pięciu liczb po czym znajduje liczbę z tych pięciu najbardziej zbliżoną do średniej. Wiem jest rozwiązanie na internecie ale chciałbym żeby to był moj autorski pomysł. Pisałem już 4 kody i cały czas ginę w jednym miejscu.. wymyśliłem że odejmę liczby od średniej i tak otrzymam wartość jaka różni daną liczbę od średniej ale problem pojawia się gdy dana liczba jest minusowa nie potrafię przekształcić jej na dodatnią wychodzą mi jakieś dziwne wyniki albo zero.
To jest kod w którym próbowałem użyć tablic:
#include <iostream>
using namespace std;
int liczby[5];
int srednia=0;
int srednia1=0;
int roznice[5];
int liczbaMinusowa=-1;
int main()
{
for (int i =0;i<5;i++){
cout<<endl<<"Podaj "<<i+1<<" liczbe do sredniej: ";
cin >> liczby[i];
}
for (int i=0;i<5;i++){
srednia+=liczby[i];
srednia1=srednia/5;
}
cout <<"srednia"<<srednia1<<endl;
{
for (int i =0;i<5;i++){
roznice[i]=liczby[i+1-srednia1];
if (roznice[i]<0){
roznice[i]=-roznice[i];
}
else
roznice[i]=roznice[i];
}
cout<<"roznica: "<<roznice[1];
}
return 0;
}
A tu jest tzw kamieniologia ale i ona nie pomogła:
#include <iostream>
using namespace std;
int liczby[5];
int sumaLiczbWtablicy=0;
int srednia;
int roznica[5];
int daneDoPorownania[5];
int liczbaMinusowa=(-1);
int main()
{
for (int i=0; i<5; i++){
cout<<endl<<"Podaj "<<i+1<<" liczbe do sredniej: ";
cin >> liczby[i];
}
sumaLiczbWtablicy=0;
for (int i =0; i<5; i++){
sumaLiczbWtablicy +=liczby[i];
}
cout <<"Suma liczb z tablic: "<<sumaLiczbWtablicy;
srednia=sumaLiczbWtablicy/5;
cout << "Srednia to: " <<srednia;
{
roznica[1]=roznica[1]-srednia;
if (roznica[1]<0){
roznica[1]=-roznica[1];
}
else roznica[1]=roznica[1];
roznica[2]=liczby[2]-srednia;
if (roznica[2]<0){
roznica[2]*(-1);
}
else roznica[3]=roznica[3];
roznica[3]=liczby[3]-srednia;
if (roznica[3]<0){
roznica[3]*(-1);
}
else roznica[4]=roznica[4];
roznica[4]=liczby[4]-srednia;
if (roznica[4]<0){
roznica[4]*(-1);
}
else roznica[4]=roznica[4];
roznica[5]=liczby[5]-srednia;
if (roznica[5]<0){
roznica[5]*(-1);
}
else roznica[5]=roznica[5];
}
cout <<"roznica 1:"<<roznica[1];
return 0;
}
Juz naprawiłem