Работает на 1000 элементов,нужно узнать диапазон N,элементы я так понял создаются рандомные,если вводятся с клавиатуры то просто убираем randomize и пишем вместо присваивания (mas[i]:=random(19)-10; )пишем read(который в коментах)
label l;
var
mas:array[1..1000] of longint;
n,i:longint;
begin
readln(n);
randomize;
for i:=1 to n do
begin
mas[i]:=random(19)-10;
//read(mas[i]);
write(mas[i],' ');
end;
for i:=n-4 to n do
begin
if mas[i] > 0 then
begin
mas[i]:=mas[i]-2*mas[i];
goto l;
end;
if mas[i] < 0 then
mas[i]:=abs(mas[i]);
l:
end;
writeln;
for i:=1 to n do
write(mas[i],' ');
end.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "obrabotka massiva" << endl;
int array1[16] = { 5, -12, -12, 9, 10, 0, -9,
-12, -1, 23, 65, 64, 11, 43, 39, -15 };
cout << "indeks" << "\t\t" << "element massiva" << endl;
for (int counter = 0; counter < 16; counter++)
{
cout << "array1[" << counter << "]" << "\t\t" << array1[counter] << endl;
}
system("pause");
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Паскаль.массивы. с информатикой 10 класс 1)дан массив из 30 элементов найти max> 0 и четных 2)min< 0 и нечетных 3)max среди элементов индекс кратных 7
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x>0) and x.IsEven).Max)
end.
Тестовое решение:
79 -52 -50 -48 0 -99 96 -70 39 -62 59 42 3 -17 17 87 -4 34 -87 34 -22 78 94 76 89 61 -71 -45 -30 3
96
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x<0) and x.IsOdd).Min)
end.
Тестовое решение:
-81 98 86 94 -23 27 44 -52 -21 89 -52 58 -79 13 60 -39 90 99 -21 43 25 72 30 -17 -25 47 26 -41 -23 -41
-81
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(Range(6,29,7).Select(i->a[i]).Max)
end.
Тестовое решение:
-70 -16 -1 28 53 -44 -11 56 -54 78 -48 23 -85 29 -87 -30 24 -59 -78 63 -84 -82 -57 64 61 76 50 -37 81 -28
29
Конечно, проще было все написать в одной программе:
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(30,-99,99); a.Println;
Writeln(a.Where(x->(x>0) and x.IsEven).Max);
Writeln(a.Where(x->(x<0) and x.IsOdd).Min);
Writeln(Range(6,29,7).Select(i->a[i]).Max)
end.
Тестовое решение:
68 99 57 92 -12 -67 71 -23 58 26 20 -47 6 63 -54 -92 -91 -24 27 -25 75 94 88 65 32 15 -56 -58 -85 -78
94
-91
75