/*Дан массив X(N,M) .Найти среднее арифметическое тех строк массива, первый элемент которых положительный*/#include <iostream>#include <time.h>#define M 5#define N 5using namespace std; void printArray(int *mas, int n,int m)//инициализация и вывод массива { srand(time(0)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { *mas = rand() % 21-10; cout << *mas << "\t"; mas++; } cout << endl; }}
void srArray(int mas[][M], int n)//нахождение и подсчет тех строк, где первый элемент положительный{ int a; double sum = 0; for (int i = 0; i < n; i++) { double sr = 1; if (mas[i][0] > 0) { for (int j = 0; j < M; j++) { sum += mas[i][j]; } sr = sum / M; cout << "Ср элеменитов " << i + 1 << "-й строки = " << sr << endl; } else ; } }
void main()//основная функция{ setlocale(LC_ALL, "rus"); int x[N][M]; printArray(&x[0][0], N, M); cout << endl; cout << ""<<endl; srArray(x, N); system("pause");}
(1 + 0)*(0+0) + 1*0 (1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна (0 + 0) - ложна, т.к. обе перменные ложны (1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны. 1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками ((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
void printArray(int *mas, int n,int m)//инициализация и вывод массива { srand(time(0)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { *mas = rand() % 21-10; cout << *mas << "\t"; mas++; } cout << endl; }}
void srArray(int mas[][M], int n)//нахождение и подсчет тех строк, где первый элемент положительный{ int a; double sum = 0; for (int i = 0; i < n; i++) { double sr = 1; if (mas[i][0] > 0) { for (int j = 0; j < M; j++) { sum += mas[i][j]; } sr = sum / M; cout << "Ср элеменитов " << i + 1 << "-й строки = " << sr << endl; } else ; }
}
void main()//основная функция{ setlocale(LC_ALL, "rus"); int x[N][M]; printArray(&x[0][0], N, M); cout << endl; cout << ""<<endl; srArray(x, N); system("pause");}
(1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна
(0 + 0) - ложна, т.к. обе перменные ложны
(1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны.
1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками
((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
(1 + 0)*(0+0) + 1*0
будет 0