Strona 1 z 1
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 19:52
autor: wdsk90
Jak wyrównać tekst do prawej w C++? To znaczy, mam program, który wczytuje trzy liczby i drukuje je na ekranie. Dla liczb 2, 123, 1 zamiast standardowego
chciałbym otrzymać
Jak to zrobić?
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 20:12
autor: wawek91
Mam nadzieje, że się przyda.
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 20:16
autor: wdsk90
Też umiem szukać w googlach, ale nie o to mi chodziło.
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 20:19
autor: Sokół
... de110.html
słabo szukasz
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 20:28
autor: wdsk90
Może wyjaśnię: moja wiedza o C++ jest bardzo mała, dopiero zaczynam się uczyć i chcę to zrobić w możliwie najprostszy sposób, bez używania funkcji, flag i innych bardziej zaawansowanych rzeczy. To zadanie znajduje się w książce po rozdziale, w którym omówione są tylko takie rzeczy jak podstawowe typy i konwersje między nimi (bezpieczne i niebezpieczne), obiekty, itp.
Wyrównanie liczb do prawej w C++
: 2 cze 2010, o 21:56
autor: Sokół
Z jakiej książki korzystasz? Bez użycia manipulatora czy flag można chyba to zrobić tylko w sposób algorytmiczny. Przyjmujesz jaką maksymalnie liczba może mieć długość (ilość znaków), sprawdzasz ile znaków ma podana liczba, i drukujesz odpowiednią ilość spacji przed tą liczbą. Do zbadania ile liczba ma znaków posłuży zaokrąglony w górę logarytm dziesiętny (biblioteka cmath). Do wydrukowania takiej ilości spacji przyda się pętla for albo while.
żeby przedstawić ideę (nie kompilowałem, może nie być do końca poprawnie):
Kod: Zaznacz cały
cin >> liczba;for(int i=0; i< maks_znakow-ceil((log10(liczba)) ); i++){cout << " ";}cout << liczba
dla liczb ujemnych użyj wartości bezwzględnej et caetera.
Wyrównanie liczb do prawej w C++
: 3 cze 2010, o 13:59
autor: wdsk90
"Programowanie. Teoria i praktyka z wykorzystaniem C++." Bjarne Stroustrupa. Już dałem sobie z tym radę.
Wyrównanie liczb do prawej w C++
: 3 cze 2010, o 14:02
autor: Sokół
Znalazłeś inny sposób?
Wyrównanie liczb do prawej w C++
: 3 cze 2010, o 14:06
autor: wdsk90
Nie, też zrobiłem to z pętlami i wstawieniem spacji, z tym, że napierw sprawdzałem, która liczba jest najdłuższa (za pomocą dzielenia przez 10) i przed krótszymi wstawiałem spacje.
Wyrównanie liczb do prawej w C++
: 6 cze 2010, o 01:46
autor: spajder
A modyfikatory takie fajne są i łatwe:
Kod: Zaznacz cały
#include <iomanip>
...
cout << setw(10) << right << 1234 << "
";
cout << setw(10) << right << 98 << "
";