Кто, что сумеет. Решите, пожалуйста на Паскале2а.1. Отыскать номер первого отрицательного
Кто, что сумеет. Решите, пожалуйста на Паскале
2а.1. Найти номер первого отрицательного элемента массива.
2а.2. Отыскать значение и номер заключительного четного положительного элемента.
2а.3. Найти номер второго элемента, кратного 5.
2а.4. Сколько положительных чисел между вторым и третьим нулевыми элементами?
2а.5. Напечатать номера первых 4 положительных элементов.
2а.6. Найти номера первого и заключительного отрицательных частей.
2а.7. Сколько четных частей находится меж первым положительным и заключительным отрицательными элементами.
1 ответ
Мария Мейерсон
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-11,11); a.Println;
// 1
begin
var s:=a.Where(t-gt;tlt;0);
if s.Count=0 then
Writeln('1. Нет отрицательных частей')
else
Writeln('1. 1-ый отрицательный элемент номер ',
a.IndexOf(s.First)+1)
end;
// 2
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;(t[0]gt;0) and t[0].IsEven);
if s.Count=0 then
Writeln('2. Нет четных положительных частей')
else begin
var r:=s.Last;
Writeln('2. Последний четный положительный элемент номер ',r[1]+1,
', значение ',r[0])
end
end;
// 3
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;t[0] mod 5=0);
if s.Countlt;2 then
Writeln('3. Нет 2-ух частей, кратных 5')
else
Writeln('3. Номер второго элемента, кратного 5, равен ',
(s.Skip(1).Take(1)).First[1]+1)
end;
// 4
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;t[0]=0);
if s.Countlt;3 then
Writeln('4. Нет 3-х нулевых элементов')
else begin
s:=s.Skip(1).Take(2);
Writeln('4. Количество положительных частей между ',
'вторым и третьим нулевыми элементами равно ',
a[s.First[1]+1:s.Last[1]].Where(t-gt;tgt;0).Count)
end
end;
// 5
begin
var s:=a.IndexesOf(t-gt;tgt;0).Take(4).Select(t-gt;t+1);
if s.Countlt;4 then
Writeln('5. Нет 4 положительных частей')
else begin
Write('5. Номера первых четырех положительных частей: ');
s.Println
end
end;
// 6
begin
var s:=a.IndexesOf(t-gt;tlt;0);
if s.Count=0 then
Writeln('6. Нет отрицательных элементов')
else
Writeln('6. Номера первого и заключительного отрицательных частей: ',
s.First+1,' ',s.Last+1)
end;
// 7
begin
var s:=a.IndexesOf(t-gt;tgt;0);
if s.Count=0 then
Writeln('7. Нет положительных частей')
else begin
var i1:=s.First;
s:=a.IndexesOf(t-gt;tlt;0);
if s.Count=0 then
Writeln('7. Нет отрицательных частей')
else begin
var i2:=s.Last;
Writeln('7. Количество четных частей меж первым ',
'положительным и последним отрицательными элементами: ',
a?[i1+1:i2].Where(t-gt;t.IsEven).Count)
end
end
end
end.
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-11,11); a.Println;
// 1
begin
var s:=a.Where(t-gt;tlt;0);
if s.Count=0 then
Writeln('1. Нет отрицательных частей')
else
Writeln('1. 1-ый отрицательный элемент номер ',
a.IndexOf(s.First)+1)
end;
// 2
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;(t[0]gt;0) and t[0].IsEven);
if s.Count=0 then
Writeln('2. Нет четных положительных частей')
else begin
var r:=s.Last;
Writeln('2. Последний четный положительный элемент номер ',r[1]+1,
', значение ',r[0])
end
end;
// 3
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;t[0] mod 5=0);
if s.Countlt;2 then
Writeln('3. Нет 2-ух частей, кратных 5')
else
Writeln('3. Номер второго элемента, кратного 5, равен ',
(s.Skip(1).Take(1)).First[1]+1)
end;
// 4
begin
var s:=a.Select((v,i)-gt;(v,i)).Where(t-gt;t[0]=0);
if s.Countlt;3 then
Writeln('4. Нет 3-х нулевых элементов')
else begin
s:=s.Skip(1).Take(2);
Writeln('4. Количество положительных частей между ',
'вторым и третьим нулевыми элементами равно ',
a[s.First[1]+1:s.Last[1]].Where(t-gt;tgt;0).Count)
end
end;
// 5
begin
var s:=a.IndexesOf(t-gt;tgt;0).Take(4).Select(t-gt;t+1);
if s.Countlt;4 then
Writeln('5. Нет 4 положительных частей')
else begin
Write('5. Номера первых четырех положительных частей: ');
s.Println
end
end;
// 6
begin
var s:=a.IndexesOf(t-gt;tlt;0);
if s.Count=0 then
Writeln('6. Нет отрицательных элементов')
else
Writeln('6. Номера первого и заключительного отрицательных частей: ',
s.First+1,' ',s.Last+1)
end;
// 7
begin
var s:=a.IndexesOf(t-gt;tgt;0);
if s.Count=0 then
Writeln('7. Нет положительных частей')
else begin
var i1:=s.First;
s:=a.IndexesOf(t-gt;tlt;0);
if s.Count=0 then
Writeln('7. Нет отрицательных частей')
else begin
var i2:=s.Last;
Writeln('7. Количество четных частей меж первым ',
'положительным и последним отрицательными элементами: ',
a?[i1+1:i2].Where(t-gt;t.IsEven).Count)
end
end
end
end.
Слонина
Валя
Спасибо громадное!!!
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов