float average(int* a, int first, int last) { int s = 0; for(int i = first; i <= last; ++i) s += a[i]; return s * 1. / (last - first + 1); } int min_i(int* a, int n) { int m = a[0]; int numb = 0; for(int i = 1; i < n; ++i) if(m > a[i]) { m = a[i]; numb = i; } return numb; } int max_i(int* a, int n) { int m = a[0]; int numb = 0; for(int i = 1; i < n; ++i) if(m < a[i]) { m = a[i]; numb = i; } return numb; } int main() { int N; std::cin >> N; int X[N]; for(int i = 0; i < N; ++i) std::cin >> X[i]; std::cout << "Average of whole array: " << average(X, 0, N - 1) << std::endl; int first = min_i(X, N); int last = max_i(X, N); if(first > last) { int temp = first; first = last; last = temp; } if(last - first == 0 || last - first == 1) std::cout << "Average of shorter array: " << average(X, 0, N - 1) << std::endl; else { int delta = last - first; for(int i = last; i < N; ++i) X[i - delta + 1] = X[i]; std::cout << "Average of shorter array: " << average(X, 0, N - delta) << std::endl; } }
//Pascal var A: array [1..5] of integer; min, max, minInd, MaxInd: integer; i: byte; begin writeln('Заполнение массива.'); for i := 1 to 5 do begin write('А[', i, '] = '); readln(A[i]); end; writeln; Max := A[1]; Min := A[1]; for i := 1 to 5 do begin if Max < A[i] then begin Max := A[i]; MaxInd := i; end; if Min > A[i] then begin Min := A[i]; MinInd := i; end; end; writeln('Номер минимального элемента = ', MinInd); writeln('Номера минимального и максимального = ', MinInd, ' и ',MaxInd); end.
begin
var (m, n) := ReadInteger2('Введите два числа:');
Range(m, n).Println
end.
ПримерВведите два числа: -42 54
-42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54