Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <windows.h>
- #include <stdio.h>
- #include <cstdio>
- using namespace std;
- void v13_1();
- void v13_2();
- void v8_1();
- void v8_2();
- void v9_1();
- void v9_2();
- void outFile(ofstream& f, char* buffer, char* str);
- void inFile(ifstream& f, char* buffer, char* str);
- void main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- int choice;
- cout << "Введите номер задания: " << endl;
- cin >> choice;
- switch (choice)
- {
- case 1:
- {
- v13_1();
- break;
- }
- case 2:
- {
- v13_2();
- break;
- }
- case 3:
- {
- v8_1();
- break;
- }
- case 4:
- {
- v8_2();
- break;
- }
- case 5:
- {
- v9_1();
- break;
- }
- case 6:
- {
- v9_2();
- break;
- }
- }
- }
- void v13_1()
- {
- char buffer[50];
- int minVowel = 0, numberOfSent = 0, countVowel = 0, necessSent = 0;
- ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2v13_1.txt");
- ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
- if (!fin.is_open())
- cout << "Файл не может быть открыт!\n";
- else
- {
- while (!fin.eof())
- {
- fin.getline(buffer, 50);
- int sizeOfStr = strlen(buffer);
- bool isSpace = false;
- bool strCopied = false;
- for (int i = 0; i < sizeOfStr; i++)
- {
- if (buffer[i] == ' ' && isSpace)
- {
- fout << buffer;
- fout << endl;
- strCopied = !strCopied;
- break;
- }
- if (buffer[i] == ' ' && !isSpace)
- {
- isSpace = !isSpace;
- }
- }
- if (strCopied)
- {
- for (int k = 0; k < sizeOfStr + 1; k++)
- {
- if (buffer[k] == 'A' || buffer[k] == 'a' || buffer[k] == 'E' || buffer[k] == 'e' || buffer[k] == 'I' || buffer[k] == 'i' || buffer[k] == 'O' || buffer[k] == 'o' || buffer[k] == 'U' || buffer[k] == 'u' || buffer[k] == 'Y' || buffer[k] == 'y')
- {
- countVowel++;
- }
- if (buffer[k] == ' ' || buffer[k] == '\0')
- {
- numberOfSent++;
- if (countVowel > minVowel)
- {
- minVowel = countVowel;
- necessSent = numberOfSent;
- }
- countVowel = 0;
- }
- }
- }
- }
- }
- cout << "Большее количество гласных (" << minVowel << ") в (во) " << necessSent << " слове." << endl;
- if (fin.eof())
- {
- cout << "~~Достигнут конец файла~~" << endl;
- }
- fin.close();
- fout.close();
- }
- void v13_2()
- {
- char buffer[50];
- char str[200];
- int i = 0;
- int roundBrackets = 0, fiqureBrakets = 0, squareBrakets = 0, angledBrackets = 0;
- ifstream fin;
- ofstream fout;
- cout << "Введите путь к файлу для записи: " << endl;
- cin >> str;
- cout << "Введите строку для записи: " << endl;
- cin >> buffer;
- outFile(fout, buffer, str);
- inFile(fin, buffer, str);
- while (buffer[i] != EOF)
- {
- if (buffer[i] == '(' || buffer[i] == ')')
- {
- roundBrackets++;
- }
- if (buffer[i] == '[' || buffer[i] == ']')
- {
- squareBrakets++;
- }
- if (buffer[i] == '{' || buffer[i] == '}')
- {
- fiqureBrakets++;
- }
- if (buffer[i] == '<' || buffer[i] == '>')
- {
- angledBrackets++;
- }
- i++;
- }
- cout << "Круглых скобок: " << roundBrackets << endl;
- cout << "Квадратных скобок: " << squareBrakets << endl;
- cout << "Фигурных скобок: " << fiqureBrakets << endl;
- cout << "Угловых скобок: " << angledBrackets << endl;
- }
- void v8_1() {
- char buffer[50];
- int maxVowel = 0, numberOfStr = 0, countVowel = 0, necessSent = 0;
- ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2v8_1.txt");
- ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
- if (!fin.is_open())
- cout << "Файл не может быть открыт!\n";
- else
- {
- while (!fin.eof())
- {
- fin.getline(buffer, 50);
- int sizeOfStr = strlen(buffer);
- for (int k = 0; k < sizeOfStr + 1; k++)
- {
- if (buffer[k] == 'A' || buffer[k] == 'a' || buffer[k] == 'E' || buffer[k] == 'e' || buffer[k] == 'I' || buffer[k] == 'i' || buffer[k] == 'O' || buffer[k] == 'o' || buffer[k] == 'U' || buffer[k] == 'u' || buffer[k] == 'Y' || buffer[k] == 'y')
- {
- countVowel++;
- }
- if (buffer[k] == '\0')
- {
- numberOfStr++;
- if (countVowel > maxVowel)
- {
- maxVowel = countVowel;
- necessSent = numberOfStr;
- }
- countVowel = 0;
- }
- }
- }
- fin.seekg(0);
- int countStr = 1;
- while (!fin.eof())
- {
- fin.getline(buffer, 50);
- int sizeOfStr = strlen(buffer);
- for (int k = 0; k < sizeOfStr + 1; k++)
- {
- if (buffer[k] == '\0')
- {
- if (countStr != necessSent)
- {
- fout << buffer << endl;
- }
- countStr++;
- }
- }
- }
- }
- if (fin.eof())
- {
- cout << "~~Достигнут конец файла~~" << endl;
- }
- fin.close();
- fout.close();
- }
- void v8_2()
- {
- char number[15];
- char buffer[50];
- char str[20];
- ifstream fin;
- ofstream fout;
- cout << "Введите путь к файлу для записи: " << endl;
- cin >> str;
- cout << "Введите строку для записи: " << endl;
- cin >> buffer;
- outFile(fout, buffer, str);
- inFile(fin, buffer, str);
- bool isDot = false;
- int k = 0;
- int sizeOfStr = strlen(buffer);
- for (int i = 0; i < sizeOfStr; i++)
- {
- if (buffer[i] == '0' || buffer[i] == '1' || buffer[i] == '2' || buffer[i] == '3' || buffer[i] == '4' || buffer[i] == '5' || buffer[i] == '6' || buffer[i] == '7' || buffer[i] == '8' || buffer[i] == '9')
- {
- number[k] = buffer[i];
- k++;
- }
- if (buffer[i] == '.' && !isDot)
- {
- number[k] = buffer[i];
- k++;
- isDot = !isDot;
- }
- }
- fout.flush();
- outFile(fout, number, str);
- fin.close();
- fout.close();
- }
- void v9_1()
- {
- char buffer[50];
- int firstStr = 0, lastStr = 0, strCount = 1, wordCount = 0;
- ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2_v9_1.txt");
- ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
- cout << "Введите номера строк, между которыми будет считываться файл" << endl;
- cout << "1)"; cin >> firstStr;
- cout << "2)"; cin >> lastStr;
- if (firstStr > lastStr)
- {
- cout << "Некорректный ввод данных" << endl;
- exit(0);
- }
- if (!fin.is_open())
- {
- cout << "Файл не может быть открыт!\n";
- }
- else
- {
- while (!fin.eof())
- {
- fin.getline(buffer, 50);
- int sizeOfStr = strlen(buffer);
- if (strCount >= firstStr && strCount <= lastStr)
- {
- if (buffer[0] == 'C' || buffer[0] == 'c')
- {
- fout << buffer << " ";
- }
- }
- strCount++;
- }
- }
- fin.close();
- fout.close();
- fin.open("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
- if (!fin.is_open())
- cout << "Файл не может быть открыт!\n";
- else
- {
- while (!fin.eof())
- {
- fin.getline(buffer, 50);
- int sizeOfStr = strlen(buffer);
- for (int i = 0; i < sizeOfStr; i++)
- {
- if (buffer[i] == ' ' || buffer[i] == '\0')
- {
- wordCount++;
- }
- }
- }
- }
- cout << "В первой строке выходного файла " << wordCount << " слов(а)" << endl;
- fin.close();
- fout.close();
- }
- void v9_2()
- {
- char buffer[50];
- char str[20];
- int wordSize = 0, wordNumber = 0, minSize, necessWord = 0;
- ifstream fin;
- ofstream fout;
- cout << "Введите путь к файлу для записи: " << endl;
- cin >> str;
- cout << "Введите строку для записи: " << endl; getchar();
- gets_s(buffer);
- int sizeOfStr = strlen(buffer);
- minSize = sizeOfStr;
- for (int i = 0; i < sizeOfStr; i++)
- {
- if (buffer[i] == ' ' || buffer[i] == '\0')
- {
- wordNumber++;
- if (wordSize < minSize)
- {
- minSize = wordSize;
- necessWord = wordNumber;
- }
- wordSize = 0;
- }
- wordSize++;
- }
- cout << "Минимальное слово в введенной строке " << necessWord << " с размером в " << minSize << " символов" << endl;
- fin.close();
- fout.close();
- }
- void outFile(ofstream& f, char* buff, char* str)
- {
- f.open(str);
- if (f.fail())
- {
- cout << "Ошибка открытия файла" << endl;
- }
- f << buff;
- f.close();
- }
- void inFile(ifstream& f, char* buff, char* str)
- {
- f.open(str);
- if (f.fail())
- {
- cout << "Ошибка открытия файл" << endl;
- }
- f >> buff;
- f.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement