Var arr: array[1..27] of integer; summ: integer; begin Randomize; for var i := 1 to 27 do begin arr[i] := random(-5, 5); summ := summ + arr[i]; end; writeln('Массив: ',arr); writeln('Сумма всех элементов массива = ',summ); for var i := 1 to 27 do if arr[i] = 0 then arr[i] := summ; writeln('Массив: ',arr); end.
пример работы: Массив: [5,-1,1,5,4,-2,-3,0,3,5,-3,-4,3,0,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1] Сумма всех элементов массива = 14 Массив: [5,-1,1,5,4,-2,-3,14,3,5,-3,-4,3,14,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
var arr: array of integer; n,k,m: integer; begin write('Введи n: '); readln(n); Randomize; arr:= new integer[n]; for var i := 0 to n-1 do arr[i] := random(-5, 5); writeln('Массив: ',arr); for var i := 0 to n-1 do begin if arr[i]<0 then inc(k); if (i>=1) and (i<=6) then inc(m); if (i>=6) and (arr[i]>=0) then arr[i]:=1; end; writeln('Количество отрицательных элементов массива = ',k); writeln('Количество элементов массива в интервале [2..7] = ',m); writeln('Массив: ',arr); end.
Пример работы: Введи n: 5 Массив: [0,1,-4,1,3] Количество отрицательных элементов массива = 1 Количество элементов массива в интервале [2..7] = 4 Массив: [0,1,-4,1,3]
Введи n: 15 Массив: [0,1,4,3,-3,5,-4,-1,1,-2,3,1,-4,1,3] Количество отрицательных элементов массива = 5 Количество элементов массива в интервале [2..7] = 6 Массив: [0,1,4,3,-3,5,-4,-1,1,-2,1,1,-4,1,1]
Одно из решений, возможно, не самое эффективное #include <iostream> #include <iomanip> int main() { using namespace std;
//исходная последовательность const int N = 8; double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };
//вывод на экран исходной последовательности for (int i = 0; i < N; ++i) cout << Arr[i] << " "; cout << endl;
//подсчитаем количества отрицательных и неотрицательных элементов int kpos = 0; int kneg = 0; for (int i = 0; i < N; ++i) if (Arr[i] < 0) ++kneg; else ++kpos;
//создадим массивы отрицательных и неотрицательных элементов double * ArrNeg = new double[kneg]; double * ArrPos = new double[kpos];
int kn = 0, kp = 0; for (int i = 0; i < N; i++) if (Arr[i] < 0) ArrNeg[kn++] = Arr[i]; else ArrPos[kp++] = Arr[i];
cout << "Enter a, b, c or d: "; char ch; cin >> ch;
if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd') { switch (ch) { //пункт а) case 'a': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[i]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[i]; break;
//пункт б) case 'b': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[--kn]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[i]; break;
//пункт в) case 'c': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[i]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[--kp]; break;
//пункт г) case 'd': for (int i = 0; i < kneg; ++i) Arr[i] = ArrNeg[--kn]; for (int i = 0; i < kpos; ++i) Arr[i + kneg] = ArrPos[--kp]; break; } } else cout << "You entered wrong symbol\n";
for (int i = 0; i < N; ++i) cout << Arr[i] << " "; cout << endl; delete[] ArrNeg; delete[] ArrPos; return 0; }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку