Другие языки программирования и технологии
задание с массивом в С++
преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине - элементы, стоявшие в нечетных позициях. Массив у меня одномерный, из 10-ти целых элементов
Вот еще вариант, сохраняется порядок следования чисел.
#include <iostream>
#include <iomanip>// setw(), вывод через равные интервалы
using namespace std;
int main()
{
int a [ ] = {0,111,22,333,4,55,666,77,8,9};
unsigned int size_arr= (sizeof(a)/sizeof(a[ 0 ]));//это чтобы не пересчитывать если поменять размер массива
//--------------------------------
// вывод на экран начального массива
for(unsigned int p= 0; p< size_arr; p++)
{
cout<< setw(4)<< a[p]<< " ";
}
cout<< endl;
//--------------------------------
// сортировка
for(unsigned int p= 2; p< size_arr; p++)
{
unsigned int k;
if(!(p%2))
{
int tmp= a[p];
for(k= p; k> p/2; k--)
{
a[k]= a[k-1];
}
a[k]= tmp;
}
}
//--------------------------------
// вывод на экран измененного массива
for(unsigned int p= 0; p< size_arr; p++)
{
cout<< setw(4)<< a[p]<< " ";
}
cout<< endl;
//--------------------------------
return 0;
}
#include <iostream>
#include <iomanip>// setw(), вывод через равные интервалы
using namespace std;
int main()
{
int a [ ] = {0,111,22,333,4,55,666,77,8,9};
unsigned int size_arr= (sizeof(a)/sizeof(a[ 0 ]));//это чтобы не пересчитывать если поменять размер массива
//--------------------------------
// вывод на экран начального массива
for(unsigned int p= 0; p< size_arr; p++)
{
cout<< setw(4)<< a[p]<< " ";
}
cout<< endl;
//--------------------------------
// сортировка
for(unsigned int p= 2; p< size_arr; p++)
{
unsigned int k;
if(!(p%2))
{
int tmp= a[p];
for(k= p; k> p/2; k--)
{
a[k]= a[k-1];
}
a[k]= tmp;
}
}
//--------------------------------
// вывод на экран измененного массива
for(unsigned int p= 0; p< size_arr; p++)
{
cout<< setw(4)<< a[p]<< " ";
}
cout<< endl;
//--------------------------------
return 0;
}
Ну блин,
1) Сделай два буферных массива (для четных и нечетных) .
2) Заполни их из первого массива, как ты догадался, попеременно то в один, то в другой.
2) Из них перепиши основной, сначала весь один (четный) , потом другой (не четный) .
3) Очисти память из-под дополнительных массивов.
1) Сделай два буферных массива (для четных и нечетных) .
2) Заполни их из первого массива, как ты догадался, попеременно то в один, то в другой.
2) Из них перепиши основной, сначала весь один (четный) , потом другой (не четный) .
3) Очисти память из-под дополнительных массивов.
сортировкой.. .
Если 0 считать четной позицией.. .
void print(int a [ ] ,int n)
{
for (int i = 0; i<10; i++)
{
cout << a [ i ] << " ";
}
cout << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a [ ] = {0,1,2,3,4,5,6,7,8,9};
int n = 10;
print(a,n);
int k = 0;
for (int i = 0 ; i < 10 ; i++)
{
if((i)%2==0)
{
int t = a [ k ];
a [ k ] = a [ i ];
a [ i ] = t;
k++;
}
}
print(a,n);
return 0;
}
void print(int a [ ] ,int n)
{
for (int i = 0; i<10; i++)
{
cout << a [ i ] << " ";
}
cout << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a [ ] = {0,1,2,3,4,5,6,7,8,9};
int n = 10;
print(a,n);
int k = 0;
for (int i = 0 ; i < 10 ; i++)
{
if((i)%2==0)
{
int t = a [ k ];
a [ k ] = a [ i ];
a [ i ] = t;
k++;
}
}
print(a,n);
return 0;
}
Похожие вопросы
- C++ задание по массивам
- С++ Задание на массив
- С++. Задание на массив строк
- Помогите выполнить задание с массивами на С++
- Задания C# (массивы, матрицы).
- Помогите с Си. Вопрос по заданию (насчет типизированной функции, которая должна возвращать массив)
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Дан массив а1,...а50. Найти в нем последовательности.. смотрите внутри. Задание на Си. Подскажите с чего начать
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- помогите пожалуйста сделать мне практическую по массивам, пожалуйста!!!