#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;
}
<span>Система письменности в Древнем Египте сложилась к началу I династии, то есть примерно в 4 тысячелетии до н. э. На протяжении многих лет самыми ранними иероглифическими надписями считались надписи на палетке Нармера (приблизительно 3200 до н. э.). Однако в 1998 году немецкая группа археологов под руководством Гюнтера Дрейера на раскопках в Абидосе (современный Умм-эль-Кааб) обнаружили в гробнице додинастического правителя триста глиняных табличек покрытых протоиероглифами (датируются 33-м веком до н.э). Первое предложение, написанное иероглифами, найдено на печати времен II династии из могилы Сет-Перибсена в Умм эль-Кааб.
Первоначально египетское письмо было пиктографическим (рисуночным): слова изображались наглядными рисунками, например:
— солнце,
— бык.
Следующим шагом было создание идеографического (смыслового) письма. При помощи знаков этого письма, идеограмм, можно было записывать некоторые отвлеченные понятия, — например, знаком
(горы) — горную, то есть чужеземную, страну;
(солнце) — слово «день», исходя из того, что солнце светит лишь днем. Идеограммы играют большую роль и впоследствии в развитой системе египетской письменности. Например, все смысловые определители являются идеограммами.
Позже появляются звуковые знаки, в которых изображенный рисунок связан уже не со значением слова, а с его звуковой стороной</span>
У сборщиков налогов к примеру.
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex1(a:array of integer; var nn,np:integer);
begin
nn:=0; np:=0;
for var i:=0 to a.Length-1 do
if a[i]<0 then begin a[i]:=0; Inc(nn) end
else
if a[i]>0 then begin a[i]:=1; Inc(np) end
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
var kp,kn:integer;
ex1(a,kn,kp);
Writeln('Отрицательных ',kn,', положительных ',kp);
a.Println
end.
<u><em>Тестовое решение:</em></u>
n= 15
-5 4 -10 15 12 -17 12 4 0 8 -2 -9 8 6 4
Отрицательных 5, положительных 9
0 1 0 1 1 0 1 1 0 1 0 0 1 1 1
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex2(a:array of integer);
begin
var k:=0;
for var i:=0 to a.Length-1 do
if a[i]>0 then begin Print(i+1); Inc(k) end;
Writeln(NewLine,'Количество положительных элементов равно ',k)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
ex2(a);
end.
<u><em>Тестовое решение:</em></u>
n= 13
15 -3 1 11 -20 17 -17 -12 -12 20 11 2 20
1 3 4 6 10 11 12 13
Количество положительных элементов равно 8
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex3(a:array of integer);
begin
var s:=0;
var k:=0;
var i:=0;
while i<a.Length do begin
s+=abs(a[i]); Inc(k); i+=2
end;
Writeln('Сумма модулей нечетных элементов равна ',s);
Writeln('Их среднее арифметическое равно ',s/k)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
ex3(a);
end.
<u><em>Тестовое решение:</em></u>
n= 10
2 -1 -14 -12 11 13 1 17 20 6
Сумма модулей нечетных элементов равна 48
Их среднее арифметическое равно 9.6
<span><span /><span><span>
x
x1
</span><span>
2.00
2.69
</span><span>
2.20
3.99
</span><span>
2.40
5.37
</span><span>
2.60
6.74
</span><span>
2.80
7.95
</span><span>
3.00
8.92
</span><span>
3.20
9.59
</span><span>
3.40
9.94
</span><span>
3.60
10.02
</span><span>
3.80
9.90
</span><span>
4.00
9.71
</span></span></span>