#include <iostream>
#include <time.h>
#include <vector>
using namespace std;
void print_array(int* arr, int n) {
for (size_t i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int sum_in_vector(vector<int> vec) {
int sum = 0;
for (int elem : vec) {
sum += elem;
}
return sum;
}
void print_vector(vector<int> vec) {
for (int elem : vec) {
cout << elem << " ";
}
cout << endl;
}
int* auto_input_array(int* arr, int n) {
for (size_t i = 0; i < n; i++) {
arr[i] = rand() % 200 - 100;
}
return arr;
}
vector<int> sum_of_the_first_four_positive_elements_in_the_array(int* arr, int n) {
vector<int> vec;
int count=0;
for (int i = 0; i < n; i++) {
if (arr[i] > 0) {
vec.push_back(arr[i]);
count++;
}
if (count == 4) {
return vec;
}
}
if (count < 4) {
cout << "Не удалось получить 4 положительных элемента!" << endl;
return vec;
}
}
int main() {
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите количество элементов в массиве: ";
cin >> n;
int* array = new int[n];
vector<int> vec;
int sum = 0;
array = auto_input_array(array, n);
print_array(array, n);
vec = sum_of_the_first_four_positive_elements_in_the_array(array, n);
delete[] array;
print_vector(vec);
sum = sum_in_vector(vec);
cout << "Сумма равна: " << sum << endl;
}
Var a:array[1..15] of integer; n:integer; i,k:real;
begin
writeln('введите начальное значение');
readln(i);
writeln('введите шаг изменения');
readln(k);
writeln('введите кол-во элементов');
readln(n);
while n<>0 do begin
writeln(i,' драхм = ',i*1.77185,'г = ',i*0.06249,' унций');
n:=n-1;
i:=i+k;
end;
end.
<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество строк/столбцов в таблице:');
var a:=MatrRandom(n,n,0,1);
a.Println(2); Writeln(2*a.ColCount*'-');
// 1
var k:=0;
for var i:=0 to a.RowCount-1 do
for var j:=0 to a.ColCount-3 do
if (a[i,j]=0) and (a[i,j+1]=0) and (a[i,j+2]=0) then begin
k+=1; break
end;
Writeln('1: ',k);
// 2
k:=0;
for var j:=0 to a.ColCount-1 do
if (a[0,j]=0) and (a[1,j]=1) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=0) and (a[i+1,j]=1)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end
else
if (a[0,j]=1) and (a[1,j]=0) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=1) and (a[i+1,j]=0)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end;
Writeln('2: ',k);
// 3
var r0:=a.Rows.Where(row->row.All(t->t=0)).Count;
var c1:=a.Cols.Where(col->col.All(t->t=1)).Count;
Writeln('3: Нулевых строк ',r0,', единичных колонок ',c1)
end.
<u>Пример</u>
Количество строк/столбцов в таблице: 4
1 1 0 1
0 0 0 1
1 1 1 1
0 1 1 1
--------
1: 1
2: 1
3: Нулевых строк 0, единичных колонок 1
Если используется однобайтовая кодировка, то 43 байта или 344 бита.