Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <string>
- using namespace std;
- // Первая
- void check(int num1, int num2) {
- if (num1 > num2) {
- cout << num1 << " больше чем " << num2 << endl;
- }
- if (num1 < num2) {
- cout << num2 << " больше чем " << num1 << endl;
- }
- if (num1 == num2) {
- cout << num1 << " равен " << num2 << endl;
- }
- }
- // Вторая
- void multiple(string mass) {
- // Переменные для преобразования символа в инт, для умножения, для указателя
- int num, mult = 1, flag = 0;
- // Длина входного массива
- int length = mass.length();
- // Проверка размера строки
- if (length >= 13 && length<=1000){
- // Переменная для сортировки пузырьком
- int variable;
- // Длина массива с результатами
- int length_of_results = length - 12;
- // Динамический массив чисел из входной строки
- int *massive = new int[length];
- // Динамический массив результатов
- int *results = new int[length_of_results];
- // Цикл преобразующий char в int и попутно заполняющий массив числами
- for (auto symb:mass) {
- num = symb - '0';
- *(massive+flag) = num;
- cout << *(massive + flag) << " ";
- flag++;
- }
- // Цикл выполняющий умножение 13-и подряд идущих элементов
- for (int i = 0; i < length_of_results; i++) {
- mult = massive[i];
- for (int j = i+1; j <= i+12; j++) {
- mult *= *(massive + j);
- }
- results[i] = mult;
- }
- // Сортировка пузырьком
- for (int i = 0; i < length_of_results-1; i++) {
- for (int j = 0; j < length_of_results - i - 1; j++) {
- if (results[j] > results[j+1]) {
- variable = results[j];
- results[j] = results[j + 1];
- results[j + 1] = variable;
- }
- }
- }
- cout <<"Результат: "<< results[length_of_results - 1];
- delete[] massive;
- delete[] results;
- }
- else {
- cout << "Неправильный размер массива" << endl;
- }
- }
- // Третья
- int* equal_elems() {
- srand(2);
- int i = 1;
- int massive[3];
- massive[0] = rand() % 2;
- while (i!=3) {
- int random = rand() % 2;
- if (random != massive[0]) {
- continue;
- }
- else {
- massive[i] = random;
- }
- i++;
- }
- return massive;
- }
- // Четвертая
- double step(double a, int n) {
- if (n == 1) {
- return a;
- }
- if (n > 1) {
- return a * step(a, n - 1);
- }
- }
- // Пятая
- struct Chem {
- string title = "Химия";
- string date = "19.06.2018";
- string fio = "Николаев В.А.";
- int mark;
- };
- struct Phys {
- string title = "Физика";
- string date = "27.06.2018";
- string fio = "Стерлядкин В.В.";
- int mark;
- };
- struct Math {
- string title = "Математика";
- string date = "11.06.2018";
- string fio = "Святова Е.Н.";
- int mark;
- };
- struct RecordBook {
- Math math;
- Phys phys;
- Chem chem;
- };
- struct Student {
- string name;
- string surname;
- string bdate;
- RecordBook record_book;
- };
- Student* filling(int num) {
- string student_name, student_surname, student_bdate;
- int math_mark, phys_mark, chem_mark;
- Student *list = new Student[num];
- for (int i = 0; i < num; i++) {
- cout << "Введите имя: ";
- cin >> student_name;
- cout << "Введите фамилию: ";
- cin >> student_surname;
- cout << "Введите дату рождения: ";
- cin >> student_bdate;
- cout << "Введите оценку по математике: ";
- cin >> math_mark;
- cout << "Введите оценку по физике: ";
- cin >> phys_mark;
- cout << "Введите оценку по химии: ";
- cin >> chem_mark;
- list[i].name = student_name;
- list[i].surname = student_surname;
- list[i].bdate = student_bdate;
- list[i].record_book.math.mark = math_mark;
- list[i].record_book.phys.mark = phys_mark;
- list[i].record_book.chem.mark = chem_mark;
- }
- return list;
- }
- void excellent_show(Student *list, int num) {
- for (int i = 0; i < num; i++) {
- if (((list + i)->record_book.math.mark == 5)
- && (list + i)->record_book.phys.mark == 5
- && (list + i)->record_book.chem.mark == 5) {
- cout << (list + i)->name << " | " << (list + i)->surname << "|" << (list + i)->bdate << endl;
- cout << "---------------------------------\n";
- }
- }
- }
- int main() {
- system("chcp 1251>nul");
- // Первая
- cout << "Введите первое число: ";
- int a, b;
- cin >> a;
- cout << "Введите второе число: ";
- cin >> b;
- check(a, b);
- // Вторая
- cout << "Введите строку чисел длиной от 13 до 1000: ";
- string c;
- cin >> c;
- multiple(c);
- // Третья
- cout << equal_elems()[0] << endl << equal_elems()[1] << endl << equal_elems()[2] << endl;
- // Четвертая
- cout << step(2.5, 2) << endl;
- // Пятая
- int qt;
- cout << "Введите количество студентов: ";
- cin >> qt;
- excellent_show(filling(qt), qt);
- system("pause>nul");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement