Практика п.3 и 4
..docx3.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" и дополнительно содержат поля, представляющие информацию об абитуриентах.