- •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 Вычисление выражения
1 Дублирование (числа, температура)
Задача 9
Решите следующую задачу, используя одномерный массив: прочитайте 10 целых чисел. После того как прочли очередное число, напечатайте его, но только в том случае, если оно не дублирует ранее прочитанные числа. Предусмотрите случай, когда все числа различны.
#include<conio.h>
#include<iostream.h>
int main()
{
int mas[10];
for (int i=0;i<10;i++)
{int k(0);
cout<<"mas["<<i<<"]=";
cin>>mas[i];
for (int j=0;j<i;j++)
if (mas[i]==mas[j]) k++;
if (k==0) cout<<endl<<mas[i]<<endl;
}
getch();
return 0;
}
Тест 9
Введите
1 2 3 4 5 5 4 3 2 1
Ответ
1 2 3 4 5
Задача
Вводятся показания температуры воздуха за первую декаду месяца. Выведите на экран показатели, не дублируя одинаковую температуру. Предусмотрите случай, когда все числа различны.
( Использовать одномерный массив)
#include<conio.h>
#include<iostream.h>
int main()
{
int mas[10];
for (int i=0;i<10;i++)
{int k(0);
cout<<"mas["<<i<<"]=";
cin>>mas[i];
for (int j=0;j<i;j++)
if (mas[i]==mas[j]) k++;
if (k==0) cout<<endl<<mas[i]<<endl;
}
getch();
return 0;
}
способ 2
#include "stdafx.h" #include <conio.h> #include <iostream>
using namespace std;
int main() { setlocale(LC_ALL,"Russian"); int mas[10],mas2[10],c(0); for (int i=0;i<10;i++) { int k(0); cout<<"mas["<<i<<"]="; cin>>mas[i]; for (int j=0;j<i;j++) if(mas[i]==mas[j]) k++; if(!k) mas2[c++]=mas[i]; } cout<<"Показатели температуры без дублирования значений:"<<endl; for(int i=0;i<c;i++) cout<<mas2[i]<<" ";*/ int mas[10]; for (int i=0;i<10;i++) {int k(0); cout<<"mas["<<i<<"]="; cin>>mas[i]; for (int j=0;j<i;j++) if (mas[i]==mas[j]) k++; if (k==0) cout<<mas[i]<<endl; } getch(); return 0; }
2 Миним и макси (произведение, количество)
Задача10
В одномерном массиве, состоящем из 10 вещественных элементов, вычислить:
произведение элементов массива, расположенных между максимальным и минимальным элементами.
#include <iostream.h>
#include <conio.h>
void main()
{
int i,k,l, n;
double p=1, max,min;
double mas[10]={5,6,-3,6,-14,16,11,19,0,4};
max=mas[0] ;
min=mas[0] ;
for(i=0;i<10;i++)
{ cout<<"mas[i]="<<mas[i]<<endl;
if(mas[i]>max) {max=mas[i]; k=i;}
if(mas[i]<min) {min=mas[i]; l=i;} }
cout<<" max="<<max;
cout<<" min="<<min;
cout<<endl;
if (k>l) {n= k;k=l;l=n; }
for(i=k+1;i<l;i++)
p=p*mas[i];
cout<<"\nproizvedenie="<<p<<endl;
getch();
}
Тест 10
Введите
0.1 0.2 0.3 0.4 0.5 5 4 3 2 1
Ответ
0,012
Введите
1 2 3 4 5 0.5 0.4 0.3 0.2 0.1
Ответ
0.012
Задача
Дана таблица показателей выработки продукции за месяц. Посчитать количества дней, в которые выработка была больше минимального и меньше максимального значения.
#include <iostream.h>
#include <conio.h>
void main()
{int i,k,l, n;
double p=0, max,min;
double mas[10]={5,34,-3,6,-14,16,11,1,0,4};
max=mas[0] ;
min=mas[0] ;
for(i=0;i<10;i++)
{
cout<<"mas[i]="<<mas[i]<<endl;
if(mas[i]>max) {max=mas[i]; }
if(mas[i]<min) {min=mas[i]; } }
cout<<"max= "<<max;
cout<<" min= "<<min;
cout<<endl;
;
for(i=0;i<10;i++)
if (mas[i]< max && mas[i]>min) {p++;}
cout<<"\day="<<p<<endl;
getch();
}
способ 2
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std;
int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); int days=0; double max,min; double mas[10]={5,34,-3,6,-14,16,11,1,0,4}; max=mas[0]; min=mas[0]; for(int i=0;i<10;i++) { cout<<mas[i]<<" "; max=mas[i]>max?mas[i]:max; min=mas[i]<min?mas[i]:min; } cout<<endl<<"max="<<max<<endl; cout<<"min="<<min<<endl; for(int i=0;i<10;i++) if (mas[i]>min && mas[i]<max) days++; cout<<"Число дней: "<<days<<endl; getch(); return 0; }