Задания 4 и 5:
Задание 4:
static void Main(string[] args)
{
int N = 10, count, sum = 0;
int[] mas = new int[N];
Random rnd = new Random();
for (int i = 0; i < N; i++)
{
mas[i] = rnd.Next(0, 10);
}
Console.WriteLine("Массив: ");
for (int i = 0; i < N; i++)
{
Console.Write(String.Format("{0,4}", mas[i]));
}
Console.WriteLine();
Console.WriteLine();
Console.Write("Введите количество элементов для суммирования (n): ");
count = Convert.ToInt32(Console.ReadLine());
if (count > N)
{
count = N;
Console.WriteLine();
Console.Write("Количество элементов не должно превышать размерность массива.");
}
for (int i = 0; i < count; i++)
{
sum += mas[i];
}
Console.WriteLine();
Console.Write("Сумма первых " + count + " элементов массива = " + sum);
Console.ReadKey();
}
Задание 5:
static void Main(string[] args)
{
int N = 10, x, y, sum = 0;
int[] mas = new int[N];
Random rnd = new Random();
for (int i = 0; i < N; i++)
{
mas[i] = rnd.Next(0, 10);
}
Console.WriteLine("Массив: ");
for (int i = 0; i < N; i++)
{
Console.Write(String.Format("{0,4}", mas[i]));
}
Console.WriteLine();
Console.WriteLine();
Console.Write("Введите x: ");
x = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите y: ");
y = Convert.ToInt32(Console.ReadLine());
if (x > N)
{
x = N / 2;
}
if (y > N)
{
y = N;
}
if (y < x)
{
x = N / 2;
y = N;
Console.WriteLine();
Console.Write("x не должен быть больше y.");
}
for (int i = x - 1; i < y; i++)
{
sum += mas[i];
}
Console.WriteLine();
Console.Write("Сумма элементов массива, с " + x + " элемента по " + y + " равна " + sum);
Console.ReadKey();
}
Объяснение:
Задания 4 и 5 на языке C#.
Pascal
var
ar: array of integer;
i, j, a, b, k, n :integer;
begin
(* Дан массив целых чисел (n = 20), *)
(* заполненный случайным образом числами из промежутка [-45, 95].*)
randomize;
n:=20;
setlength(ar, n);
for i := 0 to n-1 do begin
ar[i]:= random(140)-45;
write(ar[i],' ');
end;
writeln;
(* Удалить из него все элементы, кратные 7 и *)
(* принадлежащие промежутку [a, b] (a и b вводить с клавиатуры)*)
writeln('введите диапазон [a,b]');
readln(a,b);
i:=0;
while i <= n-1 do
if (ar[i] mod 7 = 0) and (ar[i]>=a) and (ar[i]<=b)then begin
for j := i+1 to n - 1 do
ar[j-1] := ar[j];
n := n - 1
end
else
inc(i);
setlength(ar, n);
for i := 0 to n-1 do begin
write(ar[i],' ');
end;
writeln;
(* Вставить число k между всеми соседними элементами, которые образуют пару *)
(* элементов с одинаковыми знаками k вводить с клавиатуры).*)
writeln('введите k');
readln(k);
i := n - 1;
while i > 0 do begin
if ar[i]*ar[i-1]>0 then begin
inc(n);
SetLength(ar, n);
for j := n - 1 downto i do
ar[j] := ar[j-1];
ar[i] := k;
end;
dec(i);
end;
for i := 0 to n-1 do
write(ar[i],' ');
end.