#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}
Объяснение:
Достаточно странное задание.
¬¬X = X
Попробуем доказать равенство методом от противного :
Пусть ¬¬X ≠ X:
Рассмотрим левую часть : ¬¬X ⇔ ¬(¬X)Перепишем это уравнение: ¬(¬X) ≠ X ( по идее это уже можно назвать док-вом)Подставим простое число 1 (чтобы доказать равенство в числах): ¬(¬1) ≠ 1 ⇔ ¬(0) ≠ 1 ⇔ 1 ≠ 1Получившееся выражение ( 1 ≠ 1 ) не верно , ⇒ ¬¬X = x , ч.т.д
Можно более простым смотря что от вас хотят увидеть) :
Пусть ¬¬X = X:
Преобразуем выражение : ¬¬X = X ⇔ ¬(¬X) = XПрименим инверсию к обеим частям : ¬X = ¬XПолучившееся выражение ( ¬X = ¬X ) верно , ч.т.д
Ну или сразу применить инверсию ко всему выражению (Идея взята у парня в комментариях к вопросу):
¬(¬¬X) = ¬X ⇔ ¬X = ¬X , ч.т.д
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу в pascal для этой : найти минимальное число в последовательности положительных чисел.
begin max:=-1; readln(s); for i:=1 to length(s) do begin x:=copy(s, i, 1); val(x, a); if a>max then max:=a; end; writeln(max);end.