Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- const int W = 10;
- const int K = 8;
- void przesun_w_prawo(char* tablica, int rozmiar)
- {
- char nowa_tablica[rozmiar];
- // pętla przesuwająca znaki na nową pozycję:
- for(int i = 0; i < (rozmiar - 1); ++i)
- {
- nowa_tablica[i + 1] = tablica[i];
- }
- nowa_tablica[0] = tablica[rozmiar - 1];
- // kopiowanie nowej tablicy do dotychczasowej:
- for(int i = 0; i < rozmiar; ++i)
- {
- tablica[i] = nowa_tablica[i];
- }
- }
- void wypisz_tablice(char tablica[][K])
- {
- for(int i = 0; i < W; ++i)
- {
- for(int j = 0; j < K; ++j)
- cout << tablica[i][j] << '\t';
- cout << endl;
- }
- }
- int ile_malych_liter(char* tablica, int rozmiar)
- {
- int wynik = 0;
- for(int i = 0; i < rozmiar; ++i)
- {
- if(tablica[i] >= 'a' && tablica[i] <= 'z')
- ++wynik;
- }
- return wynik;
- }
- bool czy_istnieje_cyfra(char* tablica, int rozmiar)
- {
- for(int i = 0; i < rozmiar; ++i)
- if(tablica[i] >= '0' && tablica[i] <= '9')
- return true;
- return false;
- }
- bool cyfra_na_koncu(char* tablica, int rozmiar)
- {
- if(tablica[rozmiar - 1] >= '0' && tablica[rozmiar - 1] <= '9')
- return true;
- return false;
- }
- void konwersja_tablicy(char tablica[][K], int X)
- {
- char kolumna[W];
- // sprawdzanie kolejnych kolumn:
- for(int i = 0; i < K; ++i)
- {
- // wypełnienie tablicy pomocniczej:
- for(int j = 0; j < W; ++j)
- kolumna[j] = tablica[j][i];
- if(!czy_istnieje_cyfra(kolumna, W))
- continue;
- if(ile_malych_liter(kolumna, W) >= X)
- {
- // przesuwamy dotąd, aż cyfra będzie na końcu:
- while(!cyfra_na_koncu(kolumna, W))
- przesun_w_prawo(kolumna, W);
- }
- // wstawiamy tablicę pomocniczą na miejsce danej kolumny:
- for(int j = 0; j < W; ++j)
- tablica[j][i] = kolumna[j];
- }
- }
- int main()
- {
- srand(time(nullptr));
- char a[W][K];
- for(int i = 0; i < W; ++i)
- for(int j = 0; j < K; ++j)
- a[i][j] = 48 + rand() % (122 - 48 + 1);
- wypisz_tablice(a);
- cout << endl;
- konwersja_tablicy(a, 2);
- wypisz_tablice(a);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement