MitS Napisano Grudzień 6, 2007 Zgłoszenie Share Napisano Grudzień 6, 2007 Witam! mam malutki problem ... otóż nie mogę sobię poradzić z stworzeniem takiego ciągu: wejście: int a = 8 wyjście: 1 12 123 1234 12345 123456 1234567 12345678 próbowałem to jakoś rekurencyjnie oraz iteracyjnie zrobić, lecz wszystko zakończło się niepowodzeniem. I teraz pytanie do was ... jak mógłbym to osiągnąc w sposób iteracyjny ?? Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
matlas Napisano Grudzień 6, 2007 Zgłoszenie Share Napisano Grudzień 6, 2007 tak z palca int a=8; int suma=1; for(int i=2; i < a; i++){ suma=suma*10 + i; cout << suma; } Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MitS Napisano Grudzień 6, 2007 Autor Zgłoszenie Share Napisano Grudzień 6, 2007 ooo super ... o to mi chodzilo a tyle sie nad tym glowkowalem eeeee pomylka ... teraz obadalem ten kod bardziej i troszke mi nie o to chodzilo .... teraz jest tak ze 12 123 1234 poszczegolne człony tego ciągu to jest jako jedna cyfra (czyli 123 to jest stodwadzieściatrzy, a mi chodzilo by bylo 1 2 3 - jeden dwa trzy). np. 12 123 1234 <=> jeden dwa jeden dwa trzy jeden dwa trzy cztery macie jakieś pomysły na to ??? Edytuj posty zamiast pisać jeden pod drugim /Karlik Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Karlik Napisano Grudzień 6, 2007 Zgłoszenie Share Napisano Grudzień 6, 2007 W sumie też z głowy pójdzie, więc może być coś nie tak int a=8; for(int i=1; i<=a; i++){ for(int j=1; j<=i; j++){ printf("%d",j); //lub cout << j; } } Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MitS Napisano Grudzień 6, 2007 Autor Zgłoszenie Share Napisano Grudzień 6, 2007 heh dzieki za pomoc ale juz udało mi sie poradzic pozdrawiam A jeszcze jedno pytanie mam do tego .... już mi generują się liczby od 1 do a (gdzie a to jakaś liczba np. 5) 1 12 123 1234 12345 i moje kolejne pytanie brzmi jak znaleźć n-tą liczbę w tym ciągu gdzie n = a; czyli w tym wypadku: n = a = 5 odpowiedź 2 (bo 11212 <- 2 jest na 5 miejscu). nie wiem czy bez tablic się da. Jeśli tak to prosiłbym o podpowiedź jak to można bez wykorzystania tablic zrobić (jedynie na petlach). Pozdrawiam PS. zrobiłem coś takiego: void fun(){ int n = 5, t = 0; for(int i=1; i<=n; i++){ for(int j=1; j<=i; j++){ t++; cout << j << " = [" << t << "] " << endl; } cout << endl; if(t == n) break; } cout << endl << t; } ale cos nie bardzo ... wynikiem jest: mits@localhost:~$ ./p 1 = [1] 1 = [2] 2 = [3] 1 = [4] 2 = [5] 3 = [6] 1 = [7] 2 = [8] 3 = [9] 4 = [10] 1 = [11] 2 = [12] 3 = [13] 4 = [14] 5 = [15] 15 mits@localhost:~$ a powinno być: mits@localhost:~$ ./p 1 = [1] 1 = [2] 2 = [3] 1 = [4] 2 = [5] 5 mits@localhost:~$ czemu mi ten break; nie działa ??? jak robiłem if(t > n) break; to było lepiej juz ale jeszcze nie to PS2. Edytuj posty zamiast pisać jeden pod drugim /Karlik sorry Karlik ale dopiero teraz to zobaczyłem ... w każdym razie juz sie nie powtorzy Mam nadzieję, połączyłem te dwa posty /Karlik PS3. eeee chyba zupełnie źle to zrobiłem :/ gdyby ktoś mógłby mnie poprawić bym był wdzięczny Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
klimas7 Napisano Grudzień 7, 2007 Zgłoszenie Share Napisano Grudzień 7, 2007 #include <iostream> using namespace std; int main(){ int n = 5, t = 0; for(int i=1; i<=n; i++){ for(int j=1; j<=i; j++){ t++; cout << j << " = [" << t << "] " << endl; if(t == n){ cout <<"# liczba na "<<n<<" pozycji to: "<<j<<endl; return 0; } } } return 0; } no tak bym to zrobij. pz Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się