This commit is contained in:
2025-11-23 14:46:42 +07:00
parent ea9b7361fa
commit 12e5a28710
10 changed files with 1120 additions and 13 deletions
View File
+174
View File
@@ -0,0 +1,174 @@
#include "head.h"
int buffinput(int *x, int *inbuff, int *buff){
setlocale(LC_ALL, "");
//INPUT-------------------------------------------------
wint_t ch;
*inbuff = 0;
while((ch=getwchar())!='\n'&&*inbuff<BUFFMAX){
*(buff+*inbuff)=(int)ch;
(*inbuff)++;
}
//______________________________________________________
//COUNT -------------------------------------------------
int c=0;
for(int i = 32;i<=64;i++){
if(
('а'<=&&>='я') ||
('А'<=&&>='Я')
){x[0]++;c++;continue;}
else if('0'>=buff[c]&&buff[c]<='9'){x[1]++;continue;}
else if(buff[c]==i){x[i-30];c++;continue;};
else {x[23]++;c++;}
}
//________________________________________________________
return 0;
}
void func1 (int *x, int *buff){
switch(FUNC1){
case 1://Определяет среднюю длину слова в тексте
{
break;
}
case 2://Подсчитывает количество слов, длина которых не превышает 5 символов.
{
break;
}
case 3://Определяет количество букв после первого и до последнего слова.
{
break;
}
case 4://Удаляет первую букву каждого слова и выводит результат.
{
break;
}
case 5://определяет, сколько в заданном тексте слов, начинающихся с буквы,заданной пользователем.
{
break;
}
case 6://находит сумму всех цифр в введенном предложении. (если в тексте нетцифр, добавить) предусмотреть обработку шаблонов (12word, wo12rd,word12)
{
break;
}
case 7:// вставляет восклицательный знак в конце каждой строки текста.
{
break;
}
case 8://проверяет заканчивается ли каждая строка точкой и добавляет ее при необходимости, считает сколько точек было добавлено
{
break;
}
case 9://определяет сколько раз в введенной строке встречается слово,заданное пользователем.
{
break;
}
case 10://подсчитывает количество букв в каждом втором слове.
{
break;
}
}
}
void func2 (int *x, int *buff){
switch(FUNC2){
case 1: //Подсчитывает, сколько слов начинается с последней буквы первого слова.
{
break;
}
case 2: //Подсчитывает, сколько слов имеют указанную пользователем длину.
{
break;
}
case 3: //Печатает самое длинное слово в тексте.
{
break;
}
case 4: //Подсчитывает количество знаков препинания (не букв и не цифр).
{
break;
}
case 5: //Сортирует текст в порядке возрастания
{
break;
}
case 6: // Находит слова с тире во введенном тексте.
{
break;
}
case 7: //Вычисляет количество слов между первой и последней запятой во введенном тексте
{
break;
}
case 8: //Находит два соседних слова, начинающихся с большой буквы
{
break;
}
case 9: //Сортирует строку в тексте по убыванию
{
break;
}
case 10://Заменяет в каждом слове повторяющиеся буквы на '–'
{
break;
}
}
}
void func3 (int *x, int *buff){
switch(FUNC1){
case 1: //Реверсирует слово. Пример: Привет ->тевирП
{
break;
}
case 2: //Делит слово на два и меняет начало с концом. Пример: жук -> кжу,солнце -> нцесол
{
break;
}
case 3: //После каждой гласной буквы вставляется буква 'c' и гласная повторяется. Пример: кот ->косот.
{
break;
}
case 4: //Каждая буква в слове заменяется на ее позицию в алфавите. Пример: кот ->121620, обработать только буквы.
{
break;
}
case 5: //Заменяет буквы верхнего регистра на буквы нижнего и наоборот. Пример: Привет -> пРИВЕТ.
{
break;
}
case 6: //Заменяет буквы на их двоичное представление из таблицы ASCII.Пример: кот ->101010101010111011100010
{
break;
}
case 7: /*Заменяет букву на заданное смещение в пределах алфавита (шифр
Цезаря), смещение задаётся параметром и может быть положительным или
отрицательным. Пример: кот 3 -> нсх, кот -3 -> злп*/
{
break;
}
case 8:
{
break;
}
case 9:
{
break;
}
case 10:
{
break;
}
}
}
+28
View File
@@ -0,0 +1,28 @@
#ifndef HEAD
#define HEAD
#include <stdio.h>
#include <wchar.h>
// GET
int buffinput(int *x, int *inbuf, int *buff);
// FUNC
void func1();
void func2();
void func3();
// DEFINE
#define clear; printf("\n \033[H\033[J \n");
#define BUFFMAX 20
#define XMAX 23
#define FUNC1 3
#define FUNC2 8
#define FUNC3 4
#endif
+9
View File
@@ -0,0 +1,9 @@
#include "head.h"
int main(int argc, char *argv[]){
int buff[BUFFMAX];
int x[XMAX];
return 0;
}