konishyapl Temat założony przez niniejszego użytkownika |
wyrzucanie na ekran znaku, nie liczby » 2017-08-21 00:34:39 Witam, pierwszy post, pierwsze pytanie, mam nadzieje że nie złamałem przy tym 10 pktów regulaminu, chodzi mi to żeby w konsoli cout, z przed ostatniej linii, wyrzucona wartość, pokazywała się w formie zmiennej litery(w tym przypadku jako C, bo dla liczb które mam w przykładzie, X=C), obecnie program wyrzuca mi konkretną wartość z obliczeń, góry dziękuję za pomoc!
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath>
using namespace std;
float a,A,b,B,c,C,d,D,e,E,X,x,srednia;
int main() { cout << "Podaj 5 liczb" << endl; cin>>a>>b>>c>>d>>e;
srednia=(a+b+c+d+e)/5;
cout<<"srednia wynosi: "<<srednia<< endl;
A=fabs(srednia-a); B=fabs(srednia-b); C=fabs(srednia-c); D=fabs(srednia-d); E=fabs(srednia-e); X=A; if(B<X) X=B; if(C<X) X=C; if(D<X) X=D; if(E<X) X=E;
cout<<"najblizsza roznica sredniej i liczby: "<<X<< endl;
return 0; }
|
|
maly7 |
» 2017-08-21 01:23:58 Zastosuj rzutowanie na typ char. Ale dlaczego chcesz to wyświetlać za pomocą litery? Jakbyś chciał żeby wyświetliło ci np. 16.5? Jesteś pewien, że o to Ci właśnie chodzi?
Aa chyba rozumiem :D Mozesz w warunkach gdzieś zapisać jaka wartość jest najmniejsza. Jakaś zmienna typu char i jeśli A<X to char = 'A' itp. Oczywiście jest wiele sposobów na rozwiązanie tego problemu :) |
|
Rashmistrz |
» 2017-08-21 07:53:25 liczba ? ( liczba > 0 ? '+' : '-' ) : '0'; |
|
Kinexity |
» 2017-08-21 11:28:01 Coś takiego nie jest możliwe bezpośrednio w C++ (jak to napisał maly7). |
|
maly7 |
» 2017-08-21 11:33:58 Nie zrozumiałem, co dokładnie nie jest możliwe w C++? |
|
Kinexity |
» 2017-08-21 11:38:49 Nie jest możliwe wyświetlenie bezpośrednio nazwy zmiennej - w sensie nie masz na przykład takiej funkcji - nameof(X) - która by zwracała nazwę zmiennej jako ciąg znaków |
|
maly7 |
» 2017-08-21 11:46:09 Aa już zrozumiałem :D Początkowo myślałem, że niemożliwe jest to co ja napisałem (w sensie mój sposób) i się przestraszyłem :) |
|
konishyapl Temat założony przez niniejszego użytkownika |
» 2017-08-21 12:10:37 Muszę sprecyzować, mam do napisania program który policzy średnią z 5 liczb, a później pokaże która z tych 5 liczb jest najbliżej średniej, to co napisałem liczy średnią, a potem od średniej odejmuję liczby, i pokazuje wynik jako wartość bezwzględną, bo czasami wychodził wynik ujemny, i do tego momentu wszystko gra, na podstawie różnicy średniej i liczby, mogę już określić która liczba jest najbliżej liczonej średniej
dokładniej...jako te 5 liczb przyjąłem a=1.25, b=3.00, c=2.10, d=4.45, e=1.80, w tym przypadku najbliżej średniej czyli 2.52, jest liczba c, różnica tej liczby i średniej jest zapisana jako zmienna C, i to wyświetla mi się w konsoli X=C, i teraz najważniejsze, nie wiem jak przejść żeby w konsoli zamiast zmiennej C przejść do pierotnie wprowadzonej liczby c
próbowałem if(X=A) X=a -falsa bo X=C else if(X=B) X=b -false bo X=C else if(X=C) X=c -true bo X=C - i tutaj myślałem że X zamieni się na liczbę c else if(X=D) X=d else if(X=E) X=e
tylko że później kiedy wypisuje cout<<"najbliżej średniej jest liczba: "<<X<<;
to nie wiem dlaczego, ale program pokazuje, że najbliżej średniej jest liczba 'a' czyli 1.25
mam nadzieje że trochę wyjaśniłem sprawę, przepraszam za masło maślane, pierwszy program, moze ktoś ma pomysł jak zrobić to prościej, będę wdzięczny za każdą poradę :) |
|
« 1 » 2 |