Witam,
Chciałbym napisać program zapisujący liczbę np 1234
w tablicy w ten sposób, że
t[0]=4
t[1]=3
t[2]=2
t[3]=1
Wiem, ze stosując operacje mod jestem w stanie "powyciągać" wszystkie te cyfry.
I tak po zastosowaniu 1234 mod 10 dostaje 4
po zastosowaniu 1234 mod 100 dostaje 34 i dalej nie wiem co zrobić.
Proszę o pomoc w ustaleniu wzoru ogólnego dla tego problemu
Pozdrawiam serdecznie i z góry dziękuję za każdą odpowiedź
Problem z trywialnym programem [Ansi C]
-
- Użytkownik
- Posty: 56
- Rejestracja: 23 lis 2008, o 14:54
- Płeć: Mężczyzna
- Lokalizacja: Wyszogród
- Podziękował: 1 raz
- Pomógł: 4 razy
Problem z trywialnym programem [Ansi C]
1. Pętelka dopóki twoja liczba istnieje
2. w której będziesz wyciągał resztę z 10, czyli cyfrę i dalej musisz zmniejszyć tę liczbę, czyli podzielić przez 10;
3. wypisać
4. zakończyć
5. robić kolejne zadanko
2. w której będziesz wyciągał resztę z 10, czyli cyfrę i dalej musisz zmniejszyć tę liczbę, czyli podzielić przez 10;
3. wypisać
4. zakończyć
5. robić kolejne zadanko
-
- Użytkownik
- Posty: 49
- Rejestracja: 20 maja 2009, o 17:57
- Płeć: Mężczyzna
- Podziękował: 8 razy
Problem z trywialnym programem [Ansi C]
To nie może tak być bo po zastosowaniu 1234 mod 10 dostaje 4
po zastosowaniu 1234 mod 100 dostaje 34, gdy 34 podzielę na 10 dostanę 3,4
po zastosowaniu 1234 mod 100 dostaje 34, gdy 34 podzielę na 10 dostanę 3,4
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
Problem z trywialnym programem [Ansi C]
1. Modulujesz liczbę przez 10. Tym sposobem dostajesz cyfrę.
2. Zmniejszasz liczbę poprzez podzielenie całkowite liczby przez 10. Tym sposobem obcinasz ostatnią cyfrę liczby.
3. Jeżeli liczba nie jest równa 0, idziesz do punktu pierwszego. W przeciwnym wypadku fajrant.
2. Zmniejszasz liczbę poprzez podzielenie całkowite liczby przez 10. Tym sposobem obcinasz ostatnią cyfrę liczby.
3. Jeżeli liczba nie jest równa 0, idziesz do punktu pierwszego. W przeciwnym wypadku fajrant.
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
Problem z trywialnym programem [Ansi C]
Idea jest taka, że po wyliczeniu mod musisz zmniejszyć liczbę o 10 razy
Kod: Zaznacz cały
#include <stdio.h>
#define MaxLiczbaCyfr 10
int main() {
int Liczba = 1234;
int t[MaxLiczbaCyfr];
int Licznik;
for (Licznik = 0; Liczba > 0; Licznik++) {
t[Licznik] = Liczba % 10;
printf("t[%d]=%d
", Licznik, t[Licznik]);
Liczba /= 10;
}
return 0;
}
-
- Użytkownik
- Posty: 49
- Rejestracja: 20 maja 2009, o 17:57
- Płeć: Mężczyzna
- Podziękował: 8 razy
Problem z trywialnym programem [Ansi C]
Dzielenie całkowite przez 10 no faktycznie, ma sens
Dziękuję Panowie
Dziękuję Panowie