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

Смирнова_Мария_2370_Лабораторная_2

.docx
Скачиваний:
0
Добавлен:
05.12.2024
Размер:
69.53 Кб
Скачать

Смирнова Мария 2370 Задание №2 

Задание: 

С клавиатуры вводится последовательность целых чисел (признак окончания последовательности – ввод числа 0). Необходимо вывести на экран: 

а) среднее арифметическое введенных чисел; 

б) разницу между максимумом и минимумом; 

в) количество положительных чисел, кратных числу 5; 

г) количество чисел, являющихся степенью двойки; 

д) количество чисел, превышающих сумму двух предшествующих членов последовательности. 

Программа: 

#include <iostream>

#include <cmath>

#include <limits>

using namespace std;

int x = 1;

int countA = -1;

int summa = 0;

float srznach = 0;

int countB = 0;

int q;

int countG = 0;

int countx2 = 0;

int summax2 = 0;

int x1 = 0;

int x2 = 0;

int main() {

setlocale(LC_ALL, "rus");

int maxz = x;

int minz = x;

while (x != 0) {

cin >> x;

//ПУНКТ А

countA += 1;

summa += x;

//ПУНКТ Б

maxz = max(maxz, x);

minz = min(minz, x);

//ПУНКТ В

if (x > 0 and x % 5 == 0) {

countB += 1;

}

//ПУНКТ Г

q = x;

if (x != 0) {

while (q % 2 == 0) {

q = q / 2;

}

if (q == 1) {

countG++;

}

}

//ПУНКТ Д

if (x1 == 0) {

x1 = x;

}else{

if (x2 != 0) {

summax2 = x1 + x2;

if (summax2 < x) {

countx2 = countx2 + 1;}

}else {

x2 = x1;

x1 = x;}}

}

srznach = summa / countA;

cout << "Cреднее арифметическое введенных чисел: " << srznach << endl;

cout << "Разница между максимумом и минимумом: " << maxz - minz << endl;

cout << "Количество положительных чисел, кратных числу 5: " << countB << endl;

cout << "Количество чисел, являющихся степенью двойки: " << countG << endl;

cout << "Количество чисел, превышающих сумму двух предшествующих членов последовательности:" << countx2;

}

Р езультат: 

Блок-схема: