Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <ctime>
- #include <cstring>
- using namespace std;
- //Задача 7.
- //Да се състави функция, която чрез на случаен принцип генерира низ със случайно генерирана дължина,
- //съдържащ само малки или големи латински букви, както и интервали.
- //Функцията да връща като резултат хистограма на срещанията на символите от генерирания текст.
- char * genRandText();
- int main(){
- srand(time(NULL));
- setlocale(LC_ALL, "Bulgarian");
- char str[256];
- cout<<genRandText()<< endl;
- }
- char * genRandText(){
- unsigned len = rand() % 91 + 10, tmp;
- unsigned ch[] = { 0, 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 };//0..25->a..z, a 26 се използва за интервал
- char * genTxt = new char[len + 1];
- for (unsigned i = 0; i<len; i++){
- if (i == 0) genTxt[i] = (char)(ch[rand() % 26] + 65);//главна буква
- else{
- tmp = ch[rand() % 34];
- if (tmp == 26) genTxt[i] = ' ';
- else if (tmp == 27)genTxt[i] = '!';
- else if (tmp == 28)genTxt[i] = '?';
- else if (tmp == 29)genTxt[i] = '.';
- else if (tmp == 30)genTxt[i] = ',';
- else if (tmp == 31)genTxt[i] = ':';
- else if (tmp == 32)genTxt[i] = '...';
- else if (tmp == 33)genTxt[i] = ';';
- else genTxt[i] = (char)(tmp + 97);
- }
- }
- genTxt[len] = '\0';
- return genTxt;
- }
Advertisement
Add Comment
Please, Sign In to add comment