diff --git a/proglabs/lab10/compile.sh b/proglabs/lab10/compile.sh new file mode 100644 index 0000000..e69de29 diff --git a/proglabs/lab10/func.c b/proglabs/lab10/func.c new file mode 100644 index 0000000..fc616be --- /dev/null +++ b/proglabs/lab10/func.c @@ -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='я') || + ('А'<=&&>='Я') + ){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; + } + } +} diff --git a/proglabs/lab10/head.h b/proglabs/lab10/head.h new file mode 100644 index 0000000..a888901 --- /dev/null +++ b/proglabs/lab10/head.h @@ -0,0 +1,28 @@ +#ifndef HEAD +#define HEAD + +#include +#include + +// 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 diff --git a/proglabs/lab10/main.c b/proglabs/lab10/main.c new file mode 100644 index 0000000..b493782 --- /dev/null +++ b/proglabs/lab10/main.c @@ -0,0 +1,9 @@ +#include "head.h" + +int main(int argc, char *argv[]){ + int buff[BUFFMAX]; + int x[XMAX]; + + + return 0; +} diff --git a/proglabs/lab9/func/get.c b/proglabs/lab9/func/get.c index f0d1af0..034853c 100644 --- a/proglabs/lab9/func/get.c +++ b/proglabs/lab9/func/get.c @@ -1,5 +1,5 @@ #include "func.h" - + int mainget(void){ int t=0,x,y=0,num=0; unsigned long input = 0; @@ -78,7 +78,7 @@ int buffinput(int *cell, int *inbuff, int *buff){ // exit ------------------------------------------- if (*buff =='e'&& - *(buff+1)=='x'&& + *(buff+1)=='x'&& *(buff+2)=='i'&& *(buff+3)=='t'){return -1;} //------------------------------------------------- diff --git a/proglabs/lab9/func/massive.c b/proglabs/lab9/func/massive.c index de0ebe0..e3b5c5e 100644 --- a/proglabs/lab9/func/massive.c +++ b/proglabs/lab9/func/massive.c @@ -4,6 +4,7 @@ #define intervalin for(int i = 0;i