Как найти нечетные числа в массиве паскаль

2 / 2 / 1

Регистрация: 13.10.2009

Сообщений: 74

1

Найти все нечетные числа в массиве

19.03.2010, 19:02. Показов 13821. Ответов 2


Студворк — интернет-сервис помощи студентам

дан массив В состоящий из 5-ти элементов, нужно найти все нечетные числа в этом массиве скопировать эти нечетные цифры в другой массив C, вывести массивы В и С



0



koorya

334 / 181 / 68

Регистрация: 18.03.2010

Сообщений: 586

Записей в блоге: 11

19.03.2010, 19:31

2

Лучший ответ Сообщение было отмечено eg0r как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
var
   i,j:integer;
   b,c:array [1..5] of integer;
begin
  clrscr;
  j:=0;
  for i:=1 to 5 do
      b[i]:=random(100);
  for i:=1 to 5 do
      if b[i] mod 2=1 then
         begin
              j:=j+1;
              c[j]:=b[i];
         end;
  for i:=1 to 5 do
      write(b[i],' ');
  writeln;
  for i:=1 to j do
      write(c[i],' ');
 
    readln;
end.



2



Kizer

80 / 82 / 36

Регистрация: 20.11.2009

Сообщений: 326

19.03.2010, 23:34

3

а мне вот так больше нравится, но идея таже:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses crt;
var
   i,j:integer;
   b,c:array [1..5] of integer;
begin
  clrscr;
  j:=0;
  for i:=1 to 5 do
      b[i]:=random(100);
  for i:=1 to 5 do
      if odd(b[i]) then
         begin
              inc(j);
              c[j]:=b[i];
         end;
   writeln('Исходный Массив: ');
   writeln;
  for i:=1 to 5 do
      write(b[i],' ');
  writeln; writeln;
  writeln('Массив нечетных  элементов:');
  writeln;
  for i:=1 to j do
      write(c[i],' ');
 
        readkey;
end.



1



Gennady

Гений

(59305)


12 лет назад

Что значит “формулу”? А найти просто. Просмотреть весь масссив и тупо посчитать количество нечетных элементов.

K := 0;
for i:=1 to N do if A[ i ] mod 2 = 1 then K := K + 1;

Яков

Гуру

(2729)


12 лет назад

если (элемент делить на два равно еденице) то увеличить счетчик нечетных элементов;
if (arr/2=1) then count:=count+1;

Дядя Ваня

Профи

(959)


12 лет назад

паскаль не знаю, знаю другие.. .
Через цикл проходишь оп масиву смоттришь если элемент делится на два без с остатком значит нечетно.. .
и делаешь какую то переменну +1 …по моему это mid если не ошибаюсь в паскале

Условие задачи: Массив А вводится с клавиатуры. Вывести только нечетные элементы. Размер произвольный. (Язык Паскаль)

Сложность: легкая.

Решение задачи

Для начала продумаем наше решение. Тут довольно всё просто. Сначала с помощью одного цикла заполним наш массив, потом с помощью другого выведем нечетные элементы.

Для того чтобы решить задачу нам понадобятся следующие переменные:

  • Переменная A — для массива
  • Переменная n — для количества элементов массива
  • Переменная i — для цикла.
  • Начнем мы с каркаса нашей программы

    type

    massiv =
    array
    [
    1..100
    ]
    of
    integer
    ;
    // создаем свой тип данных для массива

    var

    n, i :
    integer
    ;
    // объявляем

    A : massiv;
    // переменные

    begin

    write
    (
    'Введите длину массива : '
    );readln(n);
    // просим пользователя ввести длину массива

    readln;
    // чтобы программа не закрывалась
    end
    .

    Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), объявили переменные, попросили пользователя ввести кол-во элементов массива.

    Теперь давайте заполним наш массив:

    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для заполнения массива

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    ); readln(A[i]);
    // просим пользователя заполнить массив

    end
    ;

    Ну а теперь нам надо вывести именно нечетные элементы, тут нам поможет условие:

    Это условие определяет число на нечетность с помощью операции mod, которая ищет остаток от деления, читайте подробнее ( тут ), мы пишем:

    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для вывода нечетных элементов

    begin

    if
    (A[i]
    mod
    2
    <>
    0
    )
    then
    // если текущее число нечетное, то

    write
    (A[i],
    ' | '
    );
    // выводим его

    end
    ;

    Мы в цикле проверяем каждое число на нечетность и если оно нечетное то выводим его.

    Всё решение задачи Pascal

    type

    massiv =
    array
    [
    1..100
    ]
    of
    integer
    ;
    // создаем свой тип данных для массива

    var

    n, i :
    integer
    ;
    // объявляем

    A : massiv;
    // переменные

    begin

    write
    (
    'Введите длину массива : '
    );readln(n);
    // просим пользователя ввести пароль


    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для заполнения массива

    begin

    write
    (
    'Введите '
    ,i,
    ' элемент : '
    ); readln(A[i]);
    // просим пользователя заполнить массив

    end
    ;


    write
    (
    'Нечетные элементы : '
    );
    // для красоты


    for
    i:=
    1
    to
    n
    do
    // пускаем цикл для вывода нечетных элементов

    begin

    if
    (A[i]
    mod
    2
    <>
    0
    )
    then
    // если текущее число нечетное, то

    write
    (A[i],
    ' | '
    );
    // выводим его

    end
    ;

    readln;
    // чтобы программа не закрывалась
    end
    .

    Вот результат

    Предыдущая

    ПрограммированиеЗадачи по Pascal. Заменить элемент A[k] средним арифметическим K-первых элементов.

    Следующая

    ПрограммированиеЗадачи по Pascal. Найти наибольший элемент и его номер в массиве, элементы которого вводятся с клавиатуры. Размер произвольный.

    Ответ дан

    ranyafusman2019

    Const w=10000;

    var

    i,n,sum:integer;

    a:array[1..w] of integer;

    begin

    writeln(‘Введите кол-во элементов в массиве’);

    readln(n);

    for i:=1 to n do

    begin

    a[i]:=random(100);

    if (a[i] mod 2<>0) and (i mod 2 = 0) then  

    inc (sum);

    end;

    writeln(sum)

    Удачи

    Ответ:

    Это элементарно

    var i,n,sum:integer;

    Const w=10000;

    a:array[1..w] of integer;

       begin;

    writeln(‘Введите кол-во элементов в массиве’);

    readln(n);

            for i:=1 to n do

         begin

              a[i]:=random(100);

            if (a[i] mod 2<>0) and (i mod 2 = 0) then  

        inc (sum);

       end;

     writeln(sum)

    end.

    VAR
      a, b, i: Longint;
    BEGIN
     WriteLn('    Нечетные числа с помощью цикла FOR');
     WriteLn('Введите разделенные пробелом два числа в диапазоне от -2147483648 до 2147483647:');
     ReadLn(a, b);
     if a > b then
     {Поменяем местами}
     begin
       i := b;
       b := a;
       a := i
     end;
     WriteLn('Нечетные числа в диапазоне от ',a,' до ',b);
     for i:=a to b do
       if Odd(i) then Write(i,'  ');
     WriteLn;
     WriteLn('Второй способ:');
     if NOT ODD(a) then a := a + 1;
     for i := a to b do
     begin
       Write(i,'  ');
       i := i + 1
     end;
    END.
    

    Похожие записи/страницы:

    • Из четырех заданных чисел, четные сложить, а нечетные вычесть” дело в том что, четные числа складывает, а нечетные…
    • Вывести все нечетные числа в массиве в порядке возрастания их индексов, а также их количество – Pascal(Паскаль)
    • Опишите множества Pr (1..20) и поместите в него все простые числа в диапазоне 1..20. В цикле организуйте ввод чисел…
    • Дано натуральное число. Верно ли, что в данном числе нет цифры A? Цифра A вводится с клавиатуры – Pascal(Паскаль)
    • Дано целое число N (> 0). С помощью операций деления нацело и взятия остатка от деления определить, имеются ли в записи…
    • Генерация случайного числа в диапазоне и вычисление площади окружности с заданным радиусом -…
    • Из данного натурального числа удалить все цифры A. A вводится с клавиатуры – Pascal(Паскаль)
    • Проверить истинность высказывания: «Числа A и B имеют одинаковую четность» – Pascal(Паскаль)

    Добавить комментарий