Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream> //библиотеки
- using namespace std;
- const int StringCount = 10; //Кол-во строк
- const int StringLength = 250; //Длина 1 строки
- int LowCount(char**, int); //протитипы всех функций
- int UpCount(char**, int);
- void FormattedOutput(char**, int);
- int main()
- {
- setlocale(LC_ALL, "Russian"); //для рус. языка
- char **text = new char *[StringCount]; //new - операция выделения памяти
- for (int i = 0; i < StringCount; i++) //высвобождение памяти под двумерный массив
- {
- text[i] = new char[StringLength];
- }
- char Stop[] = "."; //критерий остановки
- int Counter = 0; //счетчик строк
- cout << "Введите текст: ";
- do
- {
- cin.getline(text[Counter], StringLength); //ввод текста: cin.getline(<Имя строки>, <Длина строки>);
- if (Counter < StringCount) //Counter заполняется до кол-ва строк.
- {
- Counter++;
- }
- } while (strcmp(text[Counter - 1], Stop) && (Counter < StringCount)); //strcmp(<Имя первой строки>,<Имя второй строки>); Если строки одинаковы, то функция возвращает 0
- int ExitPoint = Counter; //ExitPoint - точка выхода
- cout << "Количество строчных букв: " << LowCount(text, ExitPoint) << " \n"
- << "Количество заглавных букв: " << UpCount(text, ExitPoint) << "\n";
- FormattedOutput(text, ExitPoint);
- system("pause");
- delete[] text; //delete - операция высвобождения памяти
- return 0;
- }
- int LowCount(char **text, int ExitPoint)
- {
- int LowCount = 0;
- for (int j = 0; j < ExitPoint; j++)
- {
- for (int i = 0; text[j][i] != '\0'; i++)
- {
- if (islower(text[j][i])) LowCount++;
- }
- }
- return LowCount;
- }
- int UpCount(char **text, int ExitPoint)
- {
- int UpCount = 0;
- for (int j = 0; j < ExitPoint; j++)
- {
- for (int i = 0; text[j][i] != '\0'; i++)
- {
- if (isupper(text[j][i])) UpCount++;
- }
- }
- return UpCount;
- }
- void FormattedOutput(char **text, int ExitPoint)
- {
- for (int i = 0; i < ExitPoint; i++)
- {
- if (text[i][strlen(text[i]) - 1] == '.') //strlen(<Имя строки>) - возвращает длину строки с \0
- {
- cout << "\n\t" << text[i] << " "; // \n - перевод на след. строку \t - табуляция
- }
- else cout << text[i] << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement