Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практика п.3 и 4

..docx
Скачиваний:
1
Добавлен:
23.11.2023
Размер:
15.57 Кб
Скачать

3.5

Задача 2

Вывести числа в обратном порядке

#include <iostream>

using namespace std;

void f(int n) {

int t = 0;

if (n) {

cin >> t;

f(--n);

}

else return;

cout << t << " ";

}

int main() {

int n = 0;

cin >> n;

f(n);

system("pause");

return 0;

}

Задача 13

Посчитать количество положительных чисел в массиве

#include <iostream> #include <cstdlib> #include <ctime> using namespace std; const int N = 10; int main() { int arr[N]; int count = 0; srand(time(NULL)); for (int i = 0; i < N; i++) { arr[i] = rand() % 100 - 50; cout << arr[i] << " "; if (arr[i] > 0) { count++; } } cout << endl; cout << count << endl; return 0; }

4.4.4.

Разработать приложение для вычисления результирующей информации

#include <iostream> #include <string> using namespace std; class PassMark { protected: int ball; string fak; public: PassMark(int b, string f) { ball = b; fak = f; } virtual void print() { cout << "Pass Mark: " << ball << endl; cout << "Faculty Name: " << fak << endl; } }; class Applicant1 : public PassMark { protected: string Fam; int BR, BF, BL; public: Applicant1(int b, string f, string f1, int br, int bf, int bl) : PassMark(b, f) { Fam = f1; BR = br; BF = bf; BL = bl; } void print() { PassMark::print(); cout << "Applicant Name: " << Fam << endl; cout << "Russian Language Score: " << BR << endl; cout << "Foreign Language Score: " << BF << endl; cout << "Literature Score: " << BL << endl; } }; class Applicant2 : public PassMark { protected: string Fam; int BFiz, BMat, BI; public: Applicant2(int b, string f, string f1, int bfiz, int bmat, int bi) : PassMark(b, f) { Fam = f1; BFiz = bfiz; BMat = bmat; BI = bi; } void print() { PassMark::print(); cout << "Applicant Name: " << Fam << endl; cout << "Physics Score: " << BFiz << endl; cout << "Mathematics Score: " << BMat << endl; cout << "Computer Science Score: " << BI<< endl; } }; int main() { PassMark* arr[4]; arr[0] = new Applicant1(60, "Faculty1", "John", 75, 85, 90); arr[1] = new Applicant2(65, "Faculty2", "Jack", 90, 80, 95); arr[2] = new Applicant1(70, "Faculty1", "Sarah", 80, 90, 85); arr[3] = new Applicant2(75, "Faculty2", "Jenny", 85, 95, 90); for (int i = 0; i < 4; i++) { arr[i]->print(); cout << endl; } return 0; } Три класса: базовый класс "PassMark" и два производных класса "Applicant1" и "Applicant2". Класс "PassMark" содержит поля "ball" и "fak", представляющие проходной балл и название факультета. Классы "Applicant1" и "Applicant2" наследуют класс "PassMark" и дополнительно содержат поля, представляющие информацию об абитуриентах.