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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Андрій
0 / 0 / 0
Регистрация: 10.04.2009
Сообщений: 9
#1

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

10.04.2009, 21:52. Просмотров 1169. Ответов 6
Метки нет (Все метки)

Помогите написать прогу на С++

"Сформувати випадковим чином масив із 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 элементов
Посмотрите здесь:

Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10) - C++
Сформировать случайным образом два массива d(10) и a(10). Сложить их. В новом массиве найти первый отрицательный элемент и вывести его на...

По запрашиваемому количеству строк и столбцов нужно сформировать случайным образом двумерный массив - C++
Помогите пожалуйста. По запрашиваемому количеству строк и столбцов нужно сформировать случайным образом двумерный массив, подсчитываем...

Сформировать случайным образом массив X(N), элементами которого могут быть только 0 и 1. Проверить, существует ли строгое чередование 0 и 1 - C++
Помогите написать прогу C# Сформировать случайным образом массив X(N), элементами которого могут быть только 0 и 1. Проверить,...

Перемешивание элементов массива случайным образом - C++
Здравствуйте! Помогите пожалуйста. Нужно перемешать елементы массива случайным образом. Масив вводится вручную, а после нужно перемешать...

Перемешивание элементов массива случайным образом - C++
Здравствуйте. Помогите написать функцию, которая рандомно перемешивает элементы массива. void PeremeshivanieMassiva(int m); void...

В одномерном массиве, состоящем из n вводимых случайным образом целых элементов - C++
В одномерном массиве, состоящем из n вводимых случайным образом целых элементов, вычислить сумму положительных элементов массива.

В массиве b(25), сформированном случайным образом, найти количество элементов, удовлетворяющих условию - C++
В массиве b(25), сформированном случайным образом, найти количество элементов, удовлетворяющих условию l&lt;b&lt;m, где l и m - заданные...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,166
Завершенные тесты: 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
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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++
Задача:В целочисленном массиве, сгенерированным случайным образом, найти наименьший из положительных элементов. Не могу понять что не...

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

В массиве, сформированном случайным образом, найти количество элементов, стоящих на четных местах - C++
Помогите сделать указатель. В массиве t(30), сформированном случайным образом, найти количество элементов, стоящих на четных местах,...

генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего - C++
генерировать случайным образом массив из 50 элементов. Найти среднее значение, количество элементов меньше среднего, минимальное значение и...

Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов - C++
Помогите, пожалуйста. Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов.


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

Или воспользуйтесь поиском по форуму:
Андрій
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 элементов
Ответ Создать тему
Опции темы

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