Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <string.h>
- #include <Windows.h>
- #define N 5000
- int main()
- {
- setlocale(LC_ALL, "Russian");
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- char szString[N], szStringLowUp[N];
- int iFinalSymbol = 0;
- printf("Enter the sentence:\n");
- gets_s(szString, N); // виводимо стрічку
- for (int i = 0; i < N; ++i) // дублюємо стрічку та знаходимо останній символ
- {
- szStringLowUp[i] = szString[i];
- if (szString[i] == '.')
- {
- szString[i+1] = '\0';
- szStringLowUp[i+1] = '\0';
- iFinalSymbol = i + 1;
- break;
- }
- else if (szString[i] == '\0')
- {
- iFinalSymbol = i;
- break;
- }
- }
- for (int i = 0; i < iFinalSymbol; ++i) // всі літери - великі
- {
- if ((szString[i] > 95 && szString[i] < 123) || (szString[i] > -33 && szString[i] < 0))
- {
- szString[i] -= 32;
- }
- if (szString[i] == -77)
- szString[i] = -78;
- if ((szString[i] == -70) || (szString[i] == -65))
- szString[i] -= 16;
- }
- printf ("\na)%s", szString);
- for (int i = 1; i < iFinalSymbol; ++i) // кожне слово починається великою літерою
- {
- if (((szString[i] > 64 && szString[i] < 91) || (szString[i] > -65 && szString[i] < -32)) && (*(szString + i - 1) != ' ') && (*(szString + i) != '.'))
- szString[i] += 32;
- if ((szString[i] == -78) && (*(szString + i - 1) != ' ') && (*(szString + i) != '.'))
- szString[i] = -77;
- if (((szString[i] == -86) || (szString[i] == -81)) && (*(szString + i - 1) != ' ') && (*(szString + i) != '.'))
- szString[i] += 16;
- }
- printf("\nb)%s", szString);
- for (int i = 0; i < iFinalSymbol - 1; ++i) // великі літери - маленькі, а маленькі - великі
- {
- if ((szStringLowUp[i] > 64 && szStringLowUp[i] < 91) || (szStringLowUp[i] > -65 && szStringLowUp[i] < -32))
- szStringLowUp[i] += 32;
- else if ((szStringLowUp[i] > 96 && szStringLowUp[i] < 123) || (szStringLowUp[i] > -33 && szStringLowUp[i] < 0))
- szStringLowUp[i] -= 32;
- if (szStringLowUp[i] == -78)
- szStringLowUp[i] = -77;
- else if (szStringLowUp[i] == -77)
- szStringLowUp[i] = -78;
- if ((szStringLowUp[i] == -86) || (szStringLowUp[i] == -81))
- szStringLowUp[i] += 16;
- else if ((szStringLowUp[i] == -70) || (szStringLowUp[i] == -65))
- szStringLowUp[i] -= 16;
- }
- printf ("\nc)%s\n\n", szStringLowUp);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement