#include <iostream> using namespace std; #include <cmath> int main() { int n; //liczba elementów ciągu int ilosDopisanychCyfr=0; //cout << "Podaj liczbę całkowitą n (n < 200 000): "; cin >> n; if ( n >= 200000 || n <= 0) { //cout << "Podana liczba nie należy do zakresu"; } else { int t[n]; //tablica t - jednowymiarowa, n-elementowa // wprowadzenie elementów ciągu do tablicy for (int i=0; i<n; ++i) { //cout << "Podaj kolejną liczbę całkowitą nr " << (i+1) << ": "; cin >> t[i]; } // sprawdzanie, czy elementy w tablicy t są posortowane rosnąco bool rosnace = true; for (int i=1; i<n; ++i) { if (t[i-1] >= t[i]) { rosnace = false; } } // wypisanie wyniku if (rosnace) { //cout << "Tablica jest rosnaca!" << endl; } else { //cout<<"Ciag nie jest rosnacy "<<endl; for (int i=1; i<n; ++i) { if (t[i-1] >= t[i]) { ilosDopisanychCyfr++; // dopisanie max do tej liczby zeby w kolejnej iteracji sprawdzic tak jakby po dopisaniu // (int)log10(liczba)+1 - ilośćcyfr w liczbie // pow(10,(int)log10(t[i])+1) t[i] = t[i]*10; //cout << i << "...." << t[i-1] << " " << t[i] << " " << t[i+1] << endl; } } } cout <<ilosDopisanychCyfr; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <iostream> using namespace std; #include <cmath> int main() { int n; //liczba elementów ciągu int ilosDopisanychCyfr=0; //cout << "Podaj liczbę całkowitą n (n < 200 000): "; cin >> n; if ( n >= 200000 || n <= 0) { //cout << "Podana liczba nie należy do zakresu"; } else { int t[n]; //tablica t - jednowymiarowa, n-elementowa // wprowadzenie elementów ciągu do tablicy for (int i=0; i<n; ++i) { //cout << "Podaj kolejną liczbę całkowitą nr " << (i+1) << ": "; cin >> t[i]; } // sprawdzanie, czy elementy w tablicy t są posortowane rosnąco bool rosnace = true; for (int i=1; i<n; ++i) { if (t[i-1] >= t[i]) { rosnace = false; } } // wypisanie wyniku if (rosnace) { //cout << "Tablica jest rosnaca!" << endl; } else { //cout<<"Ciag nie jest rosnacy "<<endl; for (int i=1; i<n; ++i) { if (t[i-1] >= t[i]) { ilosDopisanychCyfr++; // dopisanie max do tej liczby zeby w kolejnej iteracji sprawdzic tak jakby po dopisaniu // (int)log10(liczba)+1 - ilośćcyfr w liczbie // pow(10,(int)log10(t[i])+1) t[i] = t[i]*10; //cout << i << "...." << t[i-1] << " " << t[i] << " " << t[i+1] << endl; } } } cout <<ilosDopisanychCyfr; } } |