Инна_Nina1182
?>

Впрограмме описан одномерный целочисленный массив с индексами от 0 до 9. ниже представлен фрагмент программы, обрабатывающей данный массив: n : = 9; for i: =0 to n do begin k : = a[i]; a[k] : = 0; end; в начале выполнения этого фрагмента в массиве находились числа 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 т. е. a[0] = 9, a[1] = 8 и т. д. сколько элементов массива после выполнения программы будут иметь ненулевые значения?

Информатика

Ответы

hrviko
//PascalABC.NET версия 3.3.5.1636 от 10.03.18
//Если программа не запускается, то обновите версию

const
    n = 9;

var
    a: array[0..n] of integer;
    i, k: integer;

begin
    for i := 0 to n do begin
        a[i] := n - i;
        write(a[i], ',');
        end;
        writeln;
    
    for i := 0 to n do
    begin
        K := A[i];
        A[K] := 0;
    end;
    
    k := 0;
    for i := 0 to n do
    begin
        write(a[i], ',');
        if a[i] = 0 then k := k + 1;
    end;
    writeln;
    writeln('k=',k);
end.

Вывод
9,8,7,6,5,4,3,2,1,0, - изначальный массив
0,8,7,6,5,0,0,0,0,0, - после изменения
k=6 - колво нулей
Ushakova Sakhno

#include <iostream>

typedef long long   ll;

using namespace std;

bool ll_is_valid(ll t, ll N, ll x, ll y)

{

return  t / x + (t - x) / y >= N;

}

ll f(ll N, ll x, ll y)

{

   ll R = 1;

   while (!ll_is_valid(R,N,x,y)) R *= 2;

ll L = R / 2;

while(R - L > 1)

{

 ll M   =   (L + R) / 2;

 

 if (!ll_is_valid(M,N,x,y)) {L = M;}

 else {R = M;}

}

return  R;

}

int  main()

{

ll N,x,y;

cin >> N >> x >> y;

if(x > y) swap( x, y );  

cout << f(N, x, y) <<  std::endl;

}

Грудинин604
// PascalABC.NET 3.0, сборка 1128
begin
  var a:=ArrRandom(20,-10,19);
  a.Println(','); // 1
  var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2
  Writeln('Количество положительных элементов ',
    a.Where(x->x>0).Count); // 3
  for var i:=0 to 19 do
    if a[i]<0 then a[i]:=0;
  Writeln('Массив А после замены отрицательных'); a.Println(','); //4
  Writeln('Сумма положительных элементов ',
    a.Where(x->x>0).Sum) // 5
end.

Тестовое решение:
14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8
Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1
Количество положительных элементов 13
Массив А после замены отрицательных
14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0
Сумма положительных элементов 112

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Впрограмме описан одномерный целочисленный массив с индексами от 0 до 9. ниже представлен фрагмент программы, обрабатывающей данный массив: n : = 9; for i: =0 to n do begin k : = a[i]; a[k] : = 0; end; в начале выполнения этого фрагмента в массиве находились числа 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 т. е. a[0] = 9, a[1] = 8 и т. д. сколько элементов массива после выполнения программы будут иметь ненулевые значения?
Ваше имя (никнейм)*
Email*
Комментарий*