czarnymudzyn Temat założony przez niniejszego użytkownika |
[C++] N-elementowy ciąg 1223334444 itd. bez tablic » 2015-10-24 13:29:26 Hej, mam takie zadanie: Wypisz ciąg n-elementowy zawierający elementy 1,22,333,4444,55555 itd. Niestety nie mam pojęcia co dalej zrobić, doszedłem do momentu gdzie program pokazuje mi 122, lecz nie wiem dlaczego nie chce działać dalej. Nie mogę używać tablic #include <iostream>
using namespace std; int main() { int i = 0, x = 0, w = 1, z = 1, q = 0, t = 0; cout << "Podaj jak dlugi ma byc ciag "; cin >> x; do { if( i < x ) { cout << w; i++; w++; z++; } do { if( t < w ) { cout << w; t++; } } while( i < x ); break; } while( i < x ); return 0; }
Pozdrawiam |
|
Monika90 |
» 2015-10-24 14:25:51 Czym się kierowałeś wybierając taki nick? Wg mnie to narusza regulamin. |
|
Gibas11 |
» 2015-10-24 15:09:58 Mocno przekombinowałeś, wystarczy jedna zmienna (dajmy na to n, do pobrania ilości elementów), pętla for, wykonująca się n razy i druga pętla for zagnieżdżona w tej pierwszej wykonująca się tyle razy, ile razy wykonała się ta poprzednia + 1, rozwiązać to możesz np. tak: for( int i = 1; i <= n; i++ ) for( int j = 0; j < i; j++ ) cout << i;
|
|
czarnymudzyn Temat założony przez niniejszego użytkownika |
» 2015-10-24 17:07:58 Monika90- niczym, nie ma tutaj żadnych podtekstów rasistowskich. Używam go od 8 lat i nikt nigdy się nie przyczepił ;) Gibas- dzięki wielkie, wszystko działa, rzeczywiście przekombinowałem :) |
|
czarnymudzyn Temat założony przez niniejszego użytkownika |
» 2015-10-27 19:44:35 Co zrobić by podając np 10 elementowy ciąg program wypisywał: 1223334444.? Po prostu by elementów był tyle ile się poda, ale jego wyrazy wzrastały tak jak pomyśle Gibas11 . |
|
Glazus |
» 2015-10-27 20:21:54 Tak mało elegancko: for( int i = 1; i <= n; i++ ) { for( int j = 0; j < i; j++ ) { cout << i; count++; if( count >= n ) { i = n + 1; break; } } }
|
|
Gibas11 |
» 2015-10-27 20:55:57 Rozumiem, że przy np. 11 elementach ma wyświetlić 12233344445 . Jeżeli tak, ja zrobiłbym to tak: for( int i = 1, znaki = 0; znaki < n; i++ ) for( int j = 0; j < i and znaki < n; j++, znaki++ ) cout << i;
Generalnie chodzi o to, by co krok 2. pętli podbijać jakąś zmienną, dajmy na to znaki i kończyć obie pętle, gdy znaki będą równe n. |
|
« 1 » |