Работа с элементами массивов. Удаление элемента массива - Free Pascal

  1. Доброй ночи. Появилась еще одна небольшая проблема. Не могу реализовать следующие два вопроса (в коде пометил их комментариями как zadanie 3 и 4): 3. Найти произведение элементов одномерного массива после второго четного. 4. Удалить найденный по условию элемент одномерного массива.


textual

Код к задаче: «Работа с элементами массивов. Удаление элемента массива - Free Pascal»

var i,k,j,n,pr:integer;
    a:array[1..10] of integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
j:=0;
for i:=1 to n do
 begin
  if a[i] mod 2=0 then k:=k+1;
  if k=2 then
   begin
    j:=i;
    break;
   end;
 end;
if j=0 then
 begin
  writeln('В массиве нет двух четных элеменнтов');
  readln;
  exit;
 end;
if j=n then pr:=0
else
 begin
  pr:=1;
  for i:=j+1 to n do
  pr:=pr*a[i];
 end;
writeln(pr);
if j<n then
for i:=j to n-1 do
a[i]:=a[i+1];
n:=n-1;
for i:=1 to n do
write(a[i],' ');
readln
end.

СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 4.000 из 5



Похожие ответы
  1. Дан массив A(N). Получить массив B(N), i-й элемент которого равен среднему арифметическому первых i элементов массива А: bi = (a1 + a2 + ... + ai ) / i

  1. Снова к вам! Задача: Вывод двенадцати месяцев на одном экране, начиная с заданного месяца. Получилось вот что:

  1. Дана строка из строчных латинских букв. Напечатать первые вхождения букв в текст, сохраняя их взаимный порядок. Указание: формируйте множество, в которое очередной элемент добавляется после первой печати. Примечание: Программы должны быть написаны в рамках структурного программирования. В частности, запрещается использовать операторы перехода и метки.

  1. Улитка ползёт по вертикальному шесту высотой h метров, поднимаясь за день на a метров, а за ночь спускаясь на b метров. На какой день улитка доползёт до вершины шеста? Программа получает на вход натуральные числа h, a, b и должна вывести одно натуральное число. Гарантируется, что a>b. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. ---------------------------- Как решить эту задачу без конструкции if? С ней легко, а без нее как? Не говорите мне, что это легкая задача. Дайте мне работающий код. В гугл не посылать, решения либо абсурдно легкие(h div (a-b), что, очевидно, неверно), либо слишком сложные, но в тоже время не выдающие правильные ответы.

  1. Заполнить массив на 200 элементов псевдослучайными числами от 20 до 80: 1)Найти среднее арифметическое всех элементов. 2)Найти среднее арифметическое всех элементов меньше пятидесяти 3)Заменить наименьшие значения в массиве нулями Вывести полученный массив.

  1. 1. Найти среди чисел a, b, c наименьшее и заменить им число, большее из них.

  1. Всем привет, столкнулся с проблемой, что не могу написать программу. Нужна ваша помощь. Желательно написать без функций типа trunc т.к. такого не изучали. Вот условие: 8. Программа с помощью процедуры задает последовательность чисел 1,2,3...n(n<=100). Среди них находит автоморфные числа(число и последние цифры его квадрата равны) Например: 5 и 25, 25 и 625. Спасибо заранее)

  1. День добрый, есть задачка по Паскалю, которую сдавать через час, а у меня еще долги Если не сложно, то прошу помочь, буду вам премного благодарен Дана матрица B[1:6,1:6] и вектор А[1:6]. Из среднеарифметических значений строк матрицы сформировать вектор C. Если минимальный элемент вектора C меньше минимального элемента вектора A, то из элементов главной диагонали матрицы сформировать вектор D. Иначе в матрице B элементы главной диагонали матрицы заменить элементами вектора A по правилу Bi,i= Ai.

  1. не могу понять как описать в паскале делятся без остатка на x,х-1,х+1. Одновременно? В цикле от 1 до 100 if (i mod x = 0) and ((i-1) mod x = 0) and ((i+1) mod x = 0) tnen n := n + 1; задание 51. Ввести x с клавиатуры и определить, сколько чисел в промежутке от 1 до 100 делятся без остатка на x, x-1 или x+1.

  1. Помогите написать функцию.Код основного блока программы запрещено менять. Также нельзя использовать глобальные переменные и константы.