в некотором логическом выражении вася нашел 4 логических переменных (a, b, c, d) и 7 логических операций между этими переменными. сколько столбцов будет в таблице истинности васи?
#include <iostream>#include <ctime>//Бібліотека для рандомуusing namespace std;int main(){ int array[10];//Масив int Max_Num=0,Min_Num=0;// Мінімальне і Максимальне числа bool Positive_or_negative=0;//Число додатнє чи відємне srand(time(NULL));//Рандом.Кожний раз інший. for(int i=0;i<10;++i) { Positive_or_negative=rand()%2; if(Positive_or_negative==false)//якщо Positive_or_negative==0 { array[i]=-(rand()%10);//Рандом від -10...0 } else { array[i]=rand()%10;//Рандом від 0...10 } if(array[i]>Max_Num)//Пошук макс. числа { Max_Num=array[i]; } if(array[i]<Min_Num)//Пошук Мін. числа { Min_Num=array[i]; } cout<<array[i]<<" "; } cout<<endl<<"Max. number is:"<<Max_Num<<endl;//Вивід максимально числа cout<<"Min. number is:"<<Min_Num<<endl;//Вивід мінімально числа system("pause>>void");//закінчення программи.}
var a, b: array[1..n] of integer; i, j, step, t: integer; flag: boolean;
begin Randomize; Writeln('Исходные элементы массива'); for i := 1 to n do begin a[i] := Random(10) - 5; Write(a[i]:4) end; { Сортируем массив (метод Шелла) } step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i] > a[i + step] then begin t := a[i]; a[i] := a[i + step]; a[i + step] := t end; i := i + step end end; step := step div 2 end; { проходим по массиву и если элемент встречается более одного раза подряд, переносим его в другой массив } j := 0; t := a[1]; flag := false; for i := 2 to n do begin if (a[i] = t) and (not flag) then begin j := j + 1; b[j] := t; flag := true end else begin flag := false; t := a[i] end end; Writeln; Writeln('Отобранные элементы массива'); for i := 1 to j do Write(b[i]:4); Writeln end.