Задание отсортировать на своих местах четные элементы массива и нечетные
/*
* считаем четные
*/
int coi1 = 0, count1 = 0;
for (int i = 0; i < n; i++)
{
if((mas[i]%2) == 0)
coi1++;
}
int[] mas0 = new int[coi1];
for (int i = 0; i < n; i++)
{
if ((mas[i] % 2) == 0)
{
mas0[count1] = i;
count1++;
}
}
int temp1;
for (int i = 0; i < coi1 - 1; i++)
{
for (int j = 0; j < coi1 - i - 1; j++)
{
if (mas0[j] > mas0[j + 1])
{
temp1 = mas0[j];
mas0[j] = mas0[j + 1];
mas0[j + 1] = temp1;
}
}
}
/*
* считаем не четные
*/
int coi2 = 0, count2 = 0;
for (int i = 0; i < n; i++)
{
if ((mas[i] % 2) > 0)
coi2++;
}
int[] mas2 = new int[coi2];
for (int i = 0; i < n; i++)
{
if ((mas[i] % 2) > 0)
{
mas2[count2] = i;
count2++;
}
}
int temp2;
for (int i = 0; i < coi2 - 1; i++)
{
for (int j = 0; j < coi2 - i - 1; j++)
{
if (mas2[j] > mas2[j + 1])
{
temp2 = mas2[j];
mas2[j] = mas2[j + 1];
mas2[j + 1] = temp2;
}
}
}
int x = 0, y = 0;
for (int i = 0; i < n; i++)
{
if ((mas[i] % 2) == 0)
{
mas[i] = mas0[x];
x++;
} else
{
mas[i] = mas2[y];
++y;
}
}
Примечание:
Спасибо, я нашел ошибку, было напутано со всем. Я менял местами в существующем массиве, а нужно было сделать новый.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.