Очень надо здать лабу, я пробовал сам, но не очень получается.
Вот задание:
"Сформировать случайным чином массив из 20 элементов. Упорядочить элементы массива таким образом, чтобы сначала следовали отрицательные элементы в порядке роста модуля, а затем положительные в порядке уменьшения."
Все что я намудрил:
Код: Выделить всё
#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
srand(1);
int i;
int masiv[20];
int m1[20];
int temp;
for (unsigned char i=0;i<20;i++)
{
masiv[i] =rand()/2-rand();
cout<<masiv[i]<<" "<<'\n';
}
int j;
int min = masiv[0];
int rang[20];
// for (i=0; i<19; i++);
// {
// if(masiv[i]<0 && masiv[i+1]<0 )
// {
for (unsigned char i=0;i<20;i++)
{
min = abs (masiv[0]);
for (j=i; j<20; j++)
if( abs (masiv[j])< abs (min))
{
// temp = masiv[i];
// min = masiv[j];
// masiv[j] = temp;
}
masiv[j] = min ;
}
for (unsigned char j=0;j<20;j++)
cout<< masiv[j];
// }
// else
// cout<< masiv[i]<<'\n';
//}
system("PAUSE");
return EXIT_SUCCESS;
}
