Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
1

Сдвинуть чётные элементы массива в начало, не изменяя их порядка

04.06.2013, 23:48. Показов 3535. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Прошу помочь в написании одномерного массива...
Условие:
- удалить из массива наибольшее число и указать его порядковый номер
- Сдвинуть чётные элементы массива в начало не изменяя их порядка

Заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 23:48
Ответы с готовыми решениями:

В Массиве А(10) расположить элементы следующим образом: четные в начало,а не четные в конец массива
2.)составьте программы, изпользуя одномерный массив. В Массиве А(10) расположить элементы следующим...

Сдвинуть все отрицательные элементы с в начало массива,сохраняя их порядок между собой, а все положительные элементы
Дан целочисленный список с количеством элементов 2n, не содержащий нулей. Сдвинуть все...

Необходимо удалить первое вхождения числа Х в массив, оставшиеся элементы сдвинуть в начало массива
Нужно срочное решение. Пользователь вводит: - размер массива ; - элементы массива ; - число...

Четные элементы массива перенести в начало
В одномерном массиве все четные элементы перенести в начало массива, оставив относительный порядок...

12
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
05.06.2013, 16:20 2
2 условие на 2 програмы или на 1?
0
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
05.06.2013, 22:20  [ТС] 3
на сколько я понимаю это всё в одной программе планируется.. Но я буду рад хотя бы чему нибудь...
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
06.06.2013, 21:01 4
сделаю
0
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
07.06.2013, 16:39  [ТС] 5
был бы рад ) а то все молчат )..
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
07.06.2013, 16:55 6
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
28
29
30
31
32
33
34
program asdasdq;
 
uses
  crt;
 
var
  mas: array[1..100] of integer;
  max, i, n, k: integer;
 
begin
  write('Enter number = ');readln(n);
  Write('Array start = ');
  for i := 1 to n do 
  begin
    mas[i] := random(10) - 5;
    Write(mas[i], ' '); end;
  max := mas[1];writeln;
  Write('Array finish par/nepar = ');
  for i := 1 to n do
    // parnie elementy
    if ((mas[i] mod 2) = 0 ) then write(mas[i], ' ');
  
  for i := 1 to n do
    // neparnie elementy
    if ((mas[i] mod 2) <> 0 ) then write(mas[i], ' ');
  
  for i := 1 to n do
    if (max < mas[i]) then begin max := mas[i];k := i; end;writeln;
  Writeln('MAX = ', max, '  mesto = ', k);
  Write('Array delete max = ');
  for i := 1 to n do
    if (i <> k) then write(mas[i], ' ');
  writeln;
end.
1
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
07.06.2013, 17:46  [ТС] 7
Ох как я благодарен!) Есть же добрые люди на свете!))
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
07.06.2013, 18:16 8
newyork7776, это не называется "сдвинуть", это называется "распечатать сначала одно, потом другое", содержимое массива у тебя вообще не поменялось. Ни один вменяемый преподаватель такого не примет.

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
28
29
30
31
32
33
34
35
36
37
38
39
uses crt;
 
var
  mas: array[1..100] of integer;
  i, j, n, k: integer;
  t : Integer;
 
begin
  randomize;
  write('Enter number = ');readln(n);
 
  Write('Array start = ');
  for i := 1 to n do
  begin
    mas[i] := random(20) - 5;
    Write(mas[i], ' '); end;
  writeln;
 
  Write('Array finish par/nepar = '); 
 
  { Обычная сортировка "пузырьком", меняем местами элементы только если
     тот, что справа - четный, а тот, что слева - нечетный, в результате все четные
     уходят влево (в начало массива), а все нечетные - вправо (в его конец) }
  for i := 1 to n do
    for j := n downto i + 1 do
      if (abs(mas[j]) mod 2 = 0) and (abs(mas[j - 1]) mod 2 = 1)  then
      begin
        t := mas[j];
        mas[j] := mas[j - 1];
        mas[j - 1] := t;
      end;
 
  for i := 1 to n do
  begin
    Write(mas[i], ' ');
  end;
  writeln;
 
end.
1
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
07.06.2013, 18:18 9
я написал програму только для того чтобы показало на екран правильно )) ответ же правильный?
0
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
07.06.2013, 20:46  [ТС] 10
я жутко извиняюсь... )) но варианты одинаковые, или нет?) что мне делать то..?)
0
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
07.06.2013, 21:49 11
Sleng, если бы условие стояло "вывести сначала четные", вам бы подошел и вариант newyork7776, но в задании "сдвинуть", так что...
0
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
07.06.2013, 23:16 12
мой вариант только показывает на екран, а програма 2 переписует масив.
мой вариант подходит эсли задача дальше розвиваться не будет(+ доп.условие), а програма делает все действие с масивом и разрешает + доп.условие
вот такие вот пироги )))
0
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 29
09.06.2013, 09:30  [ТС] 13
Вообщем всё равно всем Спасибо ))) Посмотрим что мне скажут там ))) потом отпишусь )))
0
09.06.2013, 09:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2013, 09:30
Помогаю со студенческими работами здесь

Переместить четные элементы массива в начало
четные элементы в начало, нечетные в конец int a, b; int n, j = 0, k, i; cout &lt;&lt; &quot;\nEnter the...

При нажатии на кнопку 2 сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец
При нажатии на кнопку 2 сдвинуть все элементы с четными индексами в начало массива, а с нечетными –...

Сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец, сохраняя порядок их следования.
Задан одномерный массив. Сдвинуть все элементы с четными индексами в начало массива, а с нечетными...

Дан числовой массив A размера N. Все четные его элементы поместить в начало массива B, а нечетные элементы - в конец
#include &lt;stdio.h&gt; #include &lt;malloc.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; int main (int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru