М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alihannurmambe
alihannurmambe
20.03.2021 16:13 •  Информатика

Задан массив y с количеством элементов n. сформируйте массив, в котором элементы с четными индексами будут равны соответствующим элементам исходного массива, а элементы с нечетными индексами будут равны 0. надо. написать программу на языке паскаль*(

👇
Ответ:
londi17
londi17
20.03.2021
Const n=10;
var y,z:array[1..n] of integer;
i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 y[i]:=random(51);
 write(y[i]:4);
 end;
writeln;
writeln('Полученный массив:');
for i:=1 to n do
 if i mod 2 = 0 then z[i]:=y[i] else z[i]:=0;
for i:=1 to n do write(z[i]:4);
writeln;
end.

Пример:
Исходный массив:
  16  22  48  16   9  33  27  42  40  24
Полученный массив:
   0  22   0  16   0  33   0  42   0  24
4,4(32 оценок)
Ответ:
supercrud
supercrud
20.03.2021
//Индексация с 0
//Pascal ABC.NET 3.1 сборка 1256

Const n=10;
Var
 i:integer;
 ar2:array[0..n-1] of integer;
begin
 var ar:=ArrRandomInteger(n,-10,10);
 writeln('Array Y:');
 ar.Println;
 for i:=0 to n-1 do
 ar2[i]:=0;
 for i:=0 to n-1 do
 if not(odd(i)) then ar2[i]:=ar[i];
 writeln('Final array:');
 ar2.Println;
end.
4,6(58 оценок)
Открыть все ответы
Ответ:
Matka2002
Matka2002
20.03.2021
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
4,8(9 оценок)
Ответ:
Марина36843
Марина36843
20.03.2021
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
uses System.Linq;
begin
    begin
        writeln('I');
        var n := ReadInteger('n=');
        Writeln((1 + 1 + Power(2, n - 1)) * n / 2);
    end;
    
    begin
        writeln;
        writeln('II');
        var n := ReadInteger('n=');
        Writeln(n mod 11 = 0 ? 'YES' : 'NO');
        
    end;
    
    begin
        writeln;
        writeln('III');
        var a := ReadArrInteger('Документы', ReadInteger('n=')).ToList;
        writeln;
        
        while a.Any() do
        begin
            write(a[0], ' ');
            a.RemoveAt(0);
            if not a.Any then break;
            
            write(a.Last, ' ');
            a.RemoveAt(a.Count - 1);
            if not a.Any then break;
            
            var n := 0;
            if a.Count > 1 then n := a.Count div 2 - 1;
            write(a[n], ' ');
            a.RemoveAt(n);
        end;
    end;
end.
4,4(22 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ