Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
kypiwindy
369 / 283 / 226
Регистрация: 29.05.2010
Сообщений: 717
Записей в блоге: 1
Завершенные тесты: 3
#1

Заполнить массив случайными числами по возрастанию и убыванию - C++

22.09.2010, 18:46. Просмотров 2940. Ответов 9
Метки нет (Все метки)

Случайными числами 0..700 по возрастанию и убыванию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2010, 18:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнить массив случайными числами по возрастанию и убыванию (C++):

Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию
Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его...

Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию
Есть такое задание: Заполнить массив размером 10 случайными числами от 0 до 10,...

Заполнить массив случайными числами и отсортировать его методом быстрой сортировки по убыванию
Написать программу на с++ которая заполняет массив случайными числами и...

STL Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию и вывести
Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его...

Отсортировать массив со случайными числами по убыванию
отсортировать массив со случайными числами по убыванию и указать на последний...

Заполнить массив случайными числами от -50 до 50
Нужно заполнить массив числами от -50 до 50 .Написал такой код #include...

9
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
22.09.2010, 19:10 #2
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
#include<iostream>
#include<conio.h>
#include<ctime>
using namespace std;
int main()
{
        const int n = 10;
        int m[n]; 
        srand(time(0));
        cout << "Do" << endl;
        for(int i = 0; i < n; i ++)
        {
             m[i] = rand()%700;
             cout << m[i] << ",";   
        }
        for(int i = n - 1; i >= 1; i--)
          for(int j = 0; j < i; j++)
          {
                  
                  if(m[j] > m[j+1])
                  {
                  int foo = m[j];
                  m[j] = m[j+1];
                  m[j+1] = foo;
                  }
          }
        cout << endl;
        cout << "After(>)" << endl;
        for(int i = 0; i < n; i++)
        cout << m[i] << ",";
        for(int i = n - 1; i >= 1; i--)
          for(int j = 0; j < i; j++)
          {
                  
                  if(m[j] < m[j+1])
                  {
                  int foo = m[j];
                  m[j] = m[j+1];
                  m[j+1] = foo;
                  }
          }
        cout << endl;
        cout << "After(<)" << endl;
        for(int i = 0; i < n; i++)
        cout << m[i] << ",";
        getch();
        return 0;
}
0
gooseim
Эксперт С++
510 / 414 / 92
Регистрация: 23.09.2010
Сообщений: 1,159
23.09.2010, 01:40 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <functional>
 
int main(int argc, char* argv[])
{
    int arr[10];
    for(size_t i=0;i<sizeof(arr)/sizeof(int);i++)
        arr[i]=std::rand()%700;
    std::sort(arr, arr+sizeof(arr)/sizeof(int));
    std::copy(arr, arr+sizeof(arr)/sizeof(int), std::ostream_iterator<int>(std::cout, "\t"));
    std::cout<<"--------"<<std::endl;
    std::sort(arr, arr+sizeof(arr)/sizeof(int), std::greater<int>());
    std::copy(arr, arr+sizeof(arr)/sizeof(int), std::ostream_iterator<int>(std::cout, "\t"));
    std::system("pause");
    return 0;
}
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.09.2010, 02:13 #4
так выглядит естественней.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <functional>
 
int main(int argc, char* argv[])
{
    std::vector<int> arr(10);
    std::generate(arr.begin(), arr.end(), [](){return rand()%700;});
    std::sort(arr.begin(), arr.end());
    std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, "\t"));
    std::cout<<"--------"<<std::endl;
    std::sort(arr.begin(), arr.end(), std::greater<int>());
    std::copy(arr.begin(), arr.end(), std::ostream_iterator<int>(std::cout, "\t"));
    std::system("pause");
    return 0;
}
0
gooseim
Эксперт С++
510 / 414 / 92
Регистрация: 23.09.2010
Сообщений: 1,159
23.09.2010, 02:17 #5
niXman, но задание было про массив, а не вектор. И 0x - жестко для студенческой задачи.
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.09.2010, 02:20 #6
gooseim, ага, недоглядел. спать пора...
0
Shaper
23 / 23 / 4
Регистрация: 05.05.2010
Сообщений: 82
23.09.2010, 16:06 #7
Зачем так сложно? Сортировка какая-то. Вот:

C++
1
2
3
4
5
6
7
8
9
#define N 10;
 
main () 
{
  int a[N], i;
  a[0]=rand()%(700/N);
  for (i=1, i<N; i++) 
    a[i]=a[i-1]+rand()%(700/N);
}
Всё! Генерация и сортировка в одном флаконе! Это было по возрастанию. А вот по убыванию:

C++
1
2
3
4
5
6
7
8
9
#define N 10;
 
main () 
{
  int a[N], i;
  a[N-1]=rand()%(700/N);
  for (i=N-2, i>=0; i--) 
    a[i]=a[i+1]+rand()%(700/N);
}
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
23.09.2010, 16:27 #8
Shaper, Почему сложно то? Просто STL. Это не значит сложно. Это значит удобнее.
0
niXman
Эксперт С++
3202 / 1451 / 73
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.09.2010, 16:41 #9
Shaper, супер!
логика сильна
0
Shaper
23 / 23 / 4
Регистрация: 05.05.2010
Сообщений: 82
27.09.2010, 12:22 #10
Цитата Сообщение от Lavroff Посмотреть сообщение
Shaper, Почему сложно то? Просто STL. Это не значит сложно. Это значит удобнее.
Я не о языке. Алгоритм посмотри.
0
27.09.2010, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2010, 12:22
Привет! Вот еще темы с решениями:

Заполнить массив случайными числами
Задайте с помощью генератора случайных чисел массив в диапазоне от 1 до 100....

Заполнить массив случайными числами
Помогите, пожалуйста, как заполнить массив случайными числами в диапазоне от...

Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию
создать одномерный массив, заполнить его случайными значениями, отсортировать...

Заполнить массив случайными не повторяющимися числами
Здравствуйте! Подскажите пожалуйста, случайными числами заполнить как бы не...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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