Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
DokuDoku
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 21
#1

Обменять местами чётные элементы первого массива с нечётными второго

03.06.2013, 20:37. Просмотров 601. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста, с программой.
Даны два целочисленных массива X=(x1,x2,...,xn) и Y=(y1,y2,...,ym). Пусть в массиве Х имеется k1 четных элементов, а в массиве y — k2 нечетных элементов. Обменять местами k=min(k1,k2) четных элементов массива Х с нечетными элементами массива Y (в порядке их следования в массивах Х и Y). Учесть, что в частном случае может быть k=0.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 20:37
Ответы с готовыми решениями:

Все элементы массива с чётными номерами удвоить, а с нечётными - заменить нулём
Дан массив B(m), m<= 15(больше либо равно). Все элементы с чётными номера...

Переставить местами первый и второй, третий и четвертый отрицательные элементы массива
Условие задачи: в массиве x(x1,x2,,,xn) переставить местами первый и второй...

Обменять местами второй и четвёртый элементы второго столбца массива b[1..7,1..7]
Обменять местами второй и четвёртый элементы второго столбца массива b

Где ошибся? Поменять местами чётные элементы с нечётными
public static int i,n,s,arr; int s; int num; s=1; while (s<arr) {...

Если элемент второго массива больше соответствующего элемента первого массива, то поменять элементы местами
Заданные два числовых массива X(N) и Y(N) преобразуйте их по правилу: для...

2
tvoretsmira
457 / 447 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.06.2013, 21:06 #2
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
X=randi(10,1,10) %сделаем какие-нибудь масивы
Y=randi(10,1,10) %вы вместо этих ставьте свои масивы
k2=sum(rem(Y,2)~=0); %Посчитаем сколько в Y нечётных
k1=sum(rem(X,2)==0); %Посчитаем сколько в X чётных
k=min(k1,k2); %Узнаёте? Ваша формула
odd=find(rem(Y,2)~=0,k, 'first') %Найдём индексы первых k нечётных элементов Y
even= find(rem(X,2)==0, k, 'first') %Найдём индексы первых k чётных элементов X
% Легко сказать обменять. Если скопировать из Y в Х, то в обоих эти элементы будут одинаковыми
Temp=X(even); %потому сделаем временную переменную Temp
X(even)=Y(odd); %Даные из Х сохранены, 
%так что теперь поверх них можно записать нужные элементы из Y
Y(odd)=Temp; А теперь элементами X заменим непарные элементы Y
clear Temp
1
DokuDoku
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 21
03.06.2013, 21:21  [ТС] #3
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 21:21

Обменять местами элементы строк массива
Заполнить двумерный массив от 1 до 25. Обменять местами элементы следующих...

Обменять местами последний и максимальный элементы массива
Заполнить случайным образом одномерный массив из n элементов и обменять местами...

Обменять местами первый и последний элементы главной диагонали массива b[1..5,1..5]
Обменять местами первый и последний элементы главной диагонали массива b


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru