[C] Jak to ugryźć. Najstarsza cyfra dziesiętna.
Ostatnio zmodyfikowano 2017-04-23 16:35
Saran |
» 2017-04-23 10:50:20 To już mokrowski podał. |
|
jankowalski25 |
» 2017-04-23 11:16:20 for(; liczba >= 10; liczba /= 10 ); |
Taka mała uwaga kosmetyczna: może lepiej while ? |
|
Rashmistrz |
» 2017-04-23 14:51:50 @Saran: Że co? Oni z innego języka korzystali. #include <iostream> #include <cmath>
std::cout << std::floor( value / std::pow( 10, std::floor( std::log10( value ) ) ) ) << std::endl; #include <sstream> std::ostringstream ss; ss << value; std::cout << ss.str()[ 0 ]; |
W ogóle czym jest std? Czym jest operator ::? Co to w ogóle za biblioteki iostream, cmath i sstream? Nie wiecie o co mi chodzi? Autor tematu również mógł sobie takie pytania zadawać. |
|
jankowalski25 |
» 2017-04-23 15:02:49 Autor tematu również mógł sobie takie pytania zadawać. |
Autor w ogóle tego nie przeczytał (albo przeczytał bez logowania się, w co wątpię). Przy tematach takich, jak ten, zadaję sobie pytanie: [Kolorowanie składni] Czy warto oddzielić C od C++? Zwykle taki podział nie jest potrzebny, ale czasami dobrze byłoby jednak traktować to jako dwa różne języki. |
|
Ridos Temat założony przez niniejszego użytkownika |
» 2017-04-23 16:22:54 Dziękuje za pomoc już trochę jaśniej :) Niestety tylko jedna osoba podała to w [C] jak prosiłem :P Jakieś pomysły jak to zrobić w C bez logarytmu zeby dzialalo na ujemnych? |
|
jankowalski25 |
» 2017-04-23 16:27:52 1. Dla jednocyfrowych liczb po prostu wypisujesz wynik. 2. Jeśli liczba ma więcej, niż jedną cyfrę, to kasujesz ostatnią z nich (dzielenie) aż do otrzymania liczby jednocyfrowej. |
3. Jeśli wynik jest ujemny, to zmieniasz liczbę na przeciwną. |
|
Ridos Temat założony przez niniejszego użytkownika |
» 2017-04-23 16:35:15 No i gucio, dziękuje. |
|
1 « 2 » |