Форум программистов, компьютерный форум CyberForum.ru

Сформировать случайным образом масив из 20 элементов - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
10.04.2009, 21:52     Сформировать случайным образом масив из 20 элементов #1
Помогите написать прогу на С++

"Сформувати випадковим чином масив із 20 елементів. Упорядкувати елементи масиву таким чином, щоб спочатку розміщалися від’ємні елементи у порядку зростання модуля, а потім додатні у порядку зменшення."

код:
C++
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#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;
}
все що я зміг зробити....поможіть...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2009, 21:52     Сформировать случайным образом масив из 20 элементов
Посмотрите здесь:

В целочисленном массиве, сгенерированным случайным образом, найти наименьший из положительных элементов. C++
Перемешивание элементов массива случайным образом C++
C++ В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
C++ В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10)
C++ В массиве, сформированном случайным образом, найти количество элементов, стоящих на четных местах
Сформировать случайным образом массив X(N), элементами которого могут быть только 0 и 1. Проверить, существует ли строгое чередование 0 и 1 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amator
 Аватар для Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,148
Завершенные тесты: 2
10.04.2009, 23:04     Сформировать случайным образом масив из 20 элементов #2
Наверное не все поняли условия, может нужен перевод?
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
11.04.2009, 00:33  [ТС]     Сформировать случайным образом масив из 20 элементов #3
"Сформировать случайным чином массив из 20 элементов. Упорядочить элементы массива таким образом, чтобы сначала розмищалися отрицательные элементы в порядке роста модуля, а затем положительные в порядке уменьшения."


"Сформировать случайным чином массив из 20 элементов. Упорядочить элементы массива таким образом, чтобы сначала следовали отрицательные элементы в порядке роста модуля, а затем положительные в порядке уменьшения."


Плиз !!!!
supernova
1 / 1 / 0
Регистрация: 24.03.2009
Сообщений: 27
11.04.2009, 01:33     Сформировать случайным образом масив из 20 элементов #4
Андрій, у меня вот компилятора под рукой нет
поэтому могу сказать только что тебе можно сделать вот что
после того как массив сформирован разделить его на отрицательну и положительную части
сначала отрицательная потом положительная
для обмена местами членов массива нужно использовать функцию типа swap
и еще нужно объявить переменную-метку (как-бэ)) которая будет меткой на текущий последний отрицательный элемент чтобы знать куда вставлять следующий
дальше у тебя уже есть номер последнего отрицательного элемента (в переменной-метке)
следующий шаг - цикл в котором ты упорядочиваешь сначала в порядке возрастания мдуля (до метки) а потом в порядке убывания (после метки)
получается что отрицательные упорядочены в порядке возрастания модуля а положительные - в порядке убывания
это первое что приходит в глову
конечно возможны и другие варианты
может они даже более эффективные получатся
и извиняюсь если что не понятно
потому как компилятора нету
вот..
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
11.04.2009, 01:55     Сформировать случайным образом масив из 20 элементов #5
Цитата Сообщение от supernova Посмотреть сообщение
LOLOLOL
laughing my ass of HHAHAHA!
чо за херня ??
тут же вроде на русском *** пишут?!
Вот флудить не надо( это плохо закачивается) и матом не ругайтесь(тут дети бывают).
Цитата Сообщение от Amator Посмотреть сообщение
чином
-> Образом(так понятнее)
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
11.04.2009, 02:33  [ТС]     Сформировать случайным образом масив из 20 элементов #6
Цитата Сообщение от supernova Посмотреть сообщение
Андрій, у меня вот компилятора под рукой нет
поэтому могу сказать только что тебе можно сделать вот что
после того как массив сформирован разделить его на отрицательну и положительную части
сначала отрицательная потом положительная
для обмена местами членов массива нужно использовать функцию типа swap
и еще нужно объявить переменную-метку (как-бэ)) которая будет меткой на текущий последний отрицательный элемент чтобы знать куда вставлять следующий
дальше у тебя уже есть номер последнего отрицательного элемента (в переменной-метке)
следующий шаг - цикл в котором ты упорядочиваешь сначала в порядке возрастания мдуля (до метки) а потом в порядке убывания (после метки)
получается что отрицательные упорядочены в порядке возрастания модуля а положительные - в порядке убывания
это первое что приходит в глову
конечно возможны и другие варианты
может они даже более эффективные получатся
и извиняюсь если что не понятно
потому как компилятора нету
вот..


Спасибо за идею , но как зделать єто в кампиляторе???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2009, 00:40     Сформировать случайным образом масив из 20 элементов
Еще ссылки по теме:

C++ В массиве b(25), сформированном случайным образом, найти количество элементов, удовлетворяющих условию
В массиве, сформированном случайным образом, найти количество элементов, удовлетворяющих условию C++
В одномерном массиве, состоящем из n вводимых случайным образом целых элементов C++
C++ Перемешивание элементов массива случайным образом
По запрашиваемому количеству строк и столбцов нужно сформировать случайным образом двумерный массив C++

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

Или воспользуйтесь поиском по форуму:
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
14.04.2009, 00:40  [ТС]     Сформировать случайным образом масив из 20 элементов #7
Цитата Сообщение от supernova Посмотреть сообщение
Андрій, у меня вот компилятора под рукой нет
поэтому могу сказать только что тебе можно сделать вот что
после того как массив сформирован разделить его на отрицательну и положительную части
сначала отрицательная потом положительная
для обмена местами членов массива нужно использовать функцию типа swap
и еще нужно объявить переменную-метку (как-бэ)) которая будет меткой на текущий последний отрицательный элемент чтобы знать куда вставлять следующий
дальше у тебя уже есть номер последнего отрицательного элемента (в переменной-метке)
следующий шаг - цикл в котором ты упорядочиваешь сначала в порядке возрастания мдуля (до метки) а потом в порядке убывания (после метки)
получается что отрицательные упорядочены в порядке возрастания модуля а положительные - в порядке убывания
это первое что приходит в глову
конечно возможны и другие варианты
может они даже более эффективные получатся
и извиняюсь если что не понятно
потому как компилятора нету
вот..


массив сформировал разделил его на отрицательну и положительную части,

как делать дальше??

исправленое:
код:
C++
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
40
41
42
43
44
45
46
47
48
49
#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';
        }
        
    cout<<'\n'<<'\n'<<'\n'<<'\n'<<"Yporadkovanuy: "<<'\n'<<'\n'<<'\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 ( j=0;j<20;j++)  
       {
      for (unsigned char i=0;i<20;i++) 
      {    
       if (masiv[i]>0)
       
           {
            temp = masiv[i];
            masiv[i] = masiv[j];
            masiv[j] = temp;
            }
           }
          }
          for (unsigned char j=0;j<20;j++)
          cout<< masiv[j]<<'\n';
    system("PAUSE");
    return EXIT_SUCCESS;
}


дайте идею, плиз!
Yandex
Объявления
14.04.2009, 00:40     Сформировать случайным образом масив из 20 элементов
Ответ Создать тему
Опции темы

Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru