- •1 Базовые принципы объектно-ориентированного программирования.
- •2 Базовые блоки ооп, объект и класс.
- •3 Реализация механизма сокрытия информации.
- •4 Основные свойства и правила использования конструкторов.
- •5 Правила использования деструкторов.
- •6 Директивы процессору.
- •8 Декларация, инициализация указателя. Операции над указателями.
- •9 Операторы для динамического выделения и освобождения памяти.
- •11 Указатели и динамические массивы.
- •12 Механизм «функции-друга».
- •13 Свойства и правила использования структур и объединений.
- •14 Перегрузка операторов.
- •15 Наследование. Производные классы.
- •1 Дублирование (числа, температура)
- •2 Миним и макси (произведение, количество)
- •3 Поиск столбцов (нулевой элемент, оценка)
- •4 Функция div() (искл ситуация)
- •5 Дружественная функция (класс)
- •Int isneg(myclass ob)
- •Int isneg(myclass ob)
- •6 Вычисление выражения
3 Поиск столбцов (нулевой элемент, оценка)
Задача11
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.
#include <iostream.h>
#include <conio.h>
void main()
{
const n=3,m=3;
int i,j;
int mas[n][m];
int kol=0,fl=0;
for (i=0; i<n; i++)
for (j=0; j<m; j++) {
cout<<"Vvedite element ["<<i<<"]["<<j<<"]:";
cin>>mas[i][j];
}
cout<<"Poy4enna9 matrica:\n";
for (i=0; i<n; i++) {
for (j=0; j<m; j++) {
cout<<mas[i][j]<<' '; }
cout<<'\n';
}
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
if (mas[j][i]==0) fl=1;
}
if (fl==0) kol++;
fl=0;
}
cout<<"Koli4estvo stolbcov bez 0:"<<kol;
getch();
}
Тест11
Введите
3*3
0 1 2
1 2 3
2 3 4
Ответ
2 столбца
Задача
Дана таблица результатов сдачи сессий студентом за пять лет (столбцы -номер семестра, строки количество экзаменов). Определить количество семестров, когда студент имел оценку «десять».
#include <iostream.h>
#include <conio.h>
void main() {
constn=3,m=3;
int i,j,t;
int mas[n][m];
intkol=0,fl=0;
for (i=0; i<n; i++)
for (j=0; j<m; j++) {
cout<<"Vvedite element ["<<i<<"]["<<j<<"]:";
cin>>mas[i][j]; }
cout<<"Poy4enna9 matrica:\n";
for (i=0; i<n; i++) {
for (j=0; j<m; j++) {
cout<<mas[i][j]<<' '; }
cout<<'\n'; }
for (i=0; i<m; i++) {
for (j=0; j<n; j++) {
if (mas[j][i]==10) fl=1; }
if (fl==1) kol++;
fl=0; }
cout<<"Koli4estvo semestrov с 10:"<<kol;
getch();}
способ 2
#include "stdafx.h" #include <iostream> #include <conio.h> #include <iomanip> using namespace std;
int _tmain(int argc, _TCHAR* argv[]){ setlocale(LC_ALL,"Russian"); const int n=2,m=4; int k(0); int **mass = new int*[n]; for(int i=0; i<n; i++) { mass[i] = new int[m]; for(int j=0;j<m;j++){ cout<<"Введите элемент ["<<i<<","<<j<<"]:"; cin>>*(mass[i]+j); } } cout<<"Матрица оценок: "; for(int i=0;i<n;i++) { cout<<endl; for(int j=0;j<m;j++) cout<<setw(3)<<*(mass[i]+j); } for(int j=0;j<m;j++){ for(int i=0;i<n;i++) if (*(mass[i]+j)==10) {k++;break;} } cout<<endl<<"Число семестров с оценкой десять = "<<k; getch(); return 0;}
4 Функция div() (искл ситуация)
Задача 12
Представлен каркас функции div().Добавьте в функцию процедуру обработки исключительных ситуаций.
double div (double a, double b)
{
// добавьте обработку ошибок
return a/b;
}
#include <iostream.h>
#include <conio.h>
double div (double a, double b)
{ try
{
if (!b) throw(b); }
catch (double) {
cout <<" no division zero" ; }
return a/b; }
int main() {
cout << div (10.0, 2.5 ) << endl;
cout << div (10.0,0.0);
getch();
return 0; }
Тест 12
Введите
10.0 2 ответ 5
10.0 0 ответ деление на ноль.
способ 2
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std;
double div (double a, double b) { try { if (!b) throw "Error! Division by zero"; else return a/b; } catch (char* err) { cout<<err<<endl; } return 0;}
void main(){ double result=div(10.0,2.5); if (result) cout<<result<<endl; result=div(10.0,0.0); if (result) cout<<result<<endl; getch();}