Другие языки программирования и технологии

Найти номер первого нулевого элемента массива х1, х2, ..х20 и сумму элементов предшествующих ему. Please HElp!!!!

Не знаю на каком языке нужна программа - вы его не указали. Выбирайте сами.

Bapиант 1:
class
APPLICATION
create
make
feature {NONE}
make
local
x: ARRAY [INTEGER_32]
i, k, s: INTEGER
random: RANDOM
time: TIME
do
create x.make (1, 20)
create time.make_now
create random.make
random.set_seed (time.milli_second)
print("Массив X(20):%N")
from
i := 1
until
i > 20
loop
x.put (random.i_th (i).integer_remainder (11), i)
io.put_integer (x[і])
io.put_character (' ')
i := i + 1
end
io.put_new_line
from
i := 1
until
i > 20 or k /= 0
loop
s := s + x[і]
if x[і] = 0 then
k := i
else
i := i + 1
end
end
if k = 0 then
print("В массиве нет нулевых элементов")
else
print("Номер первого нулевого элемента: ")
io.put_integer (k)
print("%NСумма элементов, предшествующих ему = ")
io.put_integer (s)
end
io.read_character
end
end

Bapиант 2:
using System;
using System.Console;
module N73371256
{
Main() : void
{
def x = array(20);
def rand = Random();
WriteLine("Массив X(20):");
mutable k = -1;
mutable s = 0;
for (mutable i = 0; i < 20; i++)
{
x[і] = rand.Next(0, 11);
Write("{0, 3}", x[і]);
when (k < 0)
{
s += x[і];
unless (x[і] > 0)
k = i;
}
}
WriteLine();
if (k < 0)
WriteLine("В массиве нет нулевых элементов");
else
{
WriteLine($"Номер первого нулевого элемента: $(k + 1)");
WriteLine($"Сумма элементов, предшествующих ему = $s");
}
_ = ReadLine();
}
}
МB
Меir@мвек Boribaev
51 590
Лучший ответ
Ну и в чём проблема? В цикле проходишь массив проверяя и суммируя элементы. Как только найден 0 выскакиваешь из цикла и выводишь текущую сумму и счётчик.
Андрей Ломанов
Андрей Ломанов
19 974

Похожие вопросы