Возможно, не самое эффективное решение #include <iostream> #include <cstdlib> #include <ctime> int main() { using namespace std; const int N = 10; int A[N]; srand(time(0)); for (int i = 0; i < N; ++i) A[i] = rand() % 201 - 100;
//Вывод исходного массива на экран for (int i = 0; i < N; ++i) cout << A[i] << " "; cout << endl;
//Подсчитаем количества положительных и отрицательных int kpos = 0, kneg = 0; for (int i = 0; i < N; i++) if (A[i] > 0) ++kpos; else ++kneg;
int * Apos = new int[kpos]; int * Aneg = new int[kneg]; int pos = 0, neg = 0; for (int i = 0; i < N; ++i) if (A[i] > 0) Apos[pos++] = A[i]; else Aneg[neg++] = A[i];
for (int i = 0; i < N; ++i) if (i < kpos) A[i] = Apos[i]; else A[i] = Aneg[i - kpos];
delete[] Apos; delete[] Aneg;
//Вывод полученного массива на экран for (int i = 0; i < N; ++i) cout << A[i] << " "; cout << endl; return 0; }
Var ar:array[1..n] of integer; pro,i,k:uint64; begin randomize; pro:=1; writeln('First array:'); for i:=1 to n do begin ar[i]:=random(22,23); //Серьёно? write(ar[i]:4); pro:=pro*ar[i]; end; writeln; writeln('Pro=',pro); write('Enter value:'); readln(k); writeln('Final array:'); for i:=1 to n do begin ar[i]:=ar[i]+k; write(ar[i]:6); end; end.
Пример работы программы: First array: 23 23 22 22 22 22 23 23 23 22 23 22 22 23 23 Pro=10868183115618730368 Enter value:3 Final array: 26 26 25 25 25 25 26 26 26 25 26 25 25 26 26
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
using namespace std;
const int N = 10;
int A[N];
srand(time(0));
for (int i = 0; i < N; ++i)
A[i] = rand() % 201 - 100;
//Вывод исходного массива на экран
for (int i = 0; i < N; ++i)
cout << A[i] << " ";
cout << endl;
//Подсчитаем количества положительных и отрицательных
int kpos = 0, kneg = 0;
for (int i = 0; i < N; i++)
if (A[i] > 0)
++kpos;
else
++kneg;
int * Apos = new int[kpos];
int * Aneg = new int[kneg];
int pos = 0, neg = 0;
for (int i = 0; i < N; ++i)
if (A[i] > 0)
Apos[pos++] = A[i];
else
Aneg[neg++] = A[i];
for (int i = 0; i < N; ++i)
if (i < kpos)
A[i] = Apos[i];
else
A[i] = Aneg[i - kpos];
delete[] Apos;
delete[] Aneg;
//Вывод полученного массива на экран
for (int i = 0; i < N; ++i)
cout << A[i] << " ";
cout << endl;
return 0;
}
Const
n=15;
Var
ar:array[1..n] of integer;
pro,i,k:uint64;
begin
randomize;
pro:=1;
writeln('First array:');
for i:=1 to n do
begin
ar[i]:=random(22,23); //Серьёно?
write(ar[i]:4);
pro:=pro*ar[i];
end;
writeln;
writeln('Pro=',pro);
write('Enter value:');
readln(k);
writeln('Final array:');
for i:=1 to n do
begin
ar[i]:=ar[i]+k;
write(ar[i]:6);
end;
end.
Пример работы программы:
First array:
23 23 22 22 22 22 23 23 23 22 23 22 22 23 23
Pro=10868183115618730368
Enter value:3
Final array:
26 26 25 25 25 25 26 26 26 25 26 25 25 26 26