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

получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию - C++

Восстановить пароль Регистрация
 
Lenochka=)
Сообщений: n/a
13.10.2010, 12:49     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #1
1)надо получить масссив случайных чисел из 1000 элементов по возрастанию.
2)надо получить масссив случайных чисел из 1000 элементов по убыванию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 12:49     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию
Посмотрите здесь:

Вывод в двухмерный массив случайных чисел в диапазоне 0-1000 C++
Используя датчик случайных чисел, получить координаты вершин треугольника x1, y1, x2, y2, x3, y3, принадлежащие отрезку [-5,5] C++
C++ Дан массив из четного числа элементов. Отсортировать первую половину этого массива по возрастанию, а вторую по убыванию
Получить из исходного массива массив отрицательных чисел и отсортировать его по убыванию методом выбора C++
Cгенерировать одномерный массив из 10 чисел,отсортировать его по возрастанию или убыванию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.10.2010, 15:20     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #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
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
#define N 1000
 
void bubbleSort(double *mas, int n)
{
    double temp;
    int i, j;
 
    for (i = 0; i < n; i++)
    {
        for (j = n - 1; j > i; j--)
        {
            if (mas[j - 1] > mas[j])
            {
                temp = mas[j];
                mas[j] = mas[j - 1];
                mas[j - 1] = temp;
            }
        }
    }
}
 
int main()
{
    double mas[N];
    int i;
 
    srand((unsigned)time(NULL));
 
    for (i = 0; i < N; i++)
        mas[i] = -500.0 + 1000.0 * rand() / RAND_MAX;
 
    printf("Mas:\n");
 
    for (i = 0; i < N; i++)
    {
        printf("%lf  ", mas[i]);
 
        if (i % 6 == 0)
            printf("\n");
    }
 
    bubbleSort(mas, N);
 
    printf("\n\nSorted mas:\n\n");
 
    for (i = 0; i < N; i++)
    {
        printf("%lf  ", mas[i]);
 
        if (i % 6 == 0)
            printf("\n");
    }
 
    getch();
    return 0;
}
Чтобы получить по убыванию, надо в 17 строке заменить знак ">" на "<".
KuKu
 Аватар для KuKu
1538 / 1016 / 69
Регистрация: 17.04.2009
Сообщений: 2,946
13.10.2010, 15:27     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #3
да можно наверное сразу упорядоченный рандом делать, зачем лишние операции.
C++
1
2
3
4
for (int i=0;i<1000;i++)
{
mas[i]=10*i+rand()%10;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.10.2010, 15:31     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #4
KuKu,
Согласен. Если бы писал прогу с нуля, так и сделал бы... Просто парой тем ниже писал прогу, где надо было реализовать сортировку, ну код так и остался висеть в редакторе... Я и подумал, а почему бы не не воспользоваться старыми наработками
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.10.2010, 17:38     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #5
Lenochka=), Вам че заняться НЕЧЕМ??????????? Вам не дали решение этих задач в этой теме? надо получить масссив случайных чисел из 1000 элементов Или вы не поняли что решение давно вам дано?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
13.10.2010, 17:40     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #6
Crudelis,
Плохая проходимость нейронных связей
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.10.2010, 17:54     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #7
silent_1991, угу чрезвычайно легкая голова, шатаемая ветром
Lenochka=)
Сообщений: n/a
19.10.2010, 08:12     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #8
всем спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2010, 09:58     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию
Еще ссылки по теме:

C++ Создать стек из случайных целых чисел и отсортировать элементы по возрастанию (убыванию)
Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.10.2010, 09:58     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию #9
Lenochka=), немного переделав пример из этого поста получим
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void fill_ascendant(int * arr, int size, int treshold){
    int i;
    for ( i = 0; i < size; ++i )
        arr[i] = rand() % treshold + i * treshold;
}
 
void fill_descendant(int * arr, int size, int treshold){
    int i;
    for ( i = 0; i < size; ++i )
        arr[i] = rand() % treshold + ( size - i - 1 ) * treshold;
}
 
void print_array(const int * arr, int size){
    while ( size-- )
        printf("%d ", *arr++);
    printf("\n");
}
 
enum { LO_TRESHOLD = 15, HI_TRESHOLD = 35 };
 
int main(void){
    int * arr, size, treshold;
    
    printf("Size: ");
    scanf("%d", &size);
    if ( ( arr = calloc(size, sizeof(int)) ) == NULL ){
        perror("calloc");
        exit(1);
    }
    
    srand(time(NULL));
    
    printf("Ascendant:\n");
    treshold = rand() % ( HI_TRESHOLD - LO_TRESHOLD ) + LO_TRESHOLD;
    fill_ascendant(arr, size, treshold);
    print_array(arr, size);
    
    printf("Descendant:\n");
    treshold = rand() % ( HI_TRESHOLD - LO_TRESHOLD ) + LO_TRESHOLD;
    fill_descendant(arr, size, treshold);
    print_array(arr, size);
    
    free(arr);
    exit(0);
}
Yandex
Объявления
19.10.2010, 09:58     получить масссив случайных чисел из 1000 элементов по возрастанию/убыванию
Ответ Создать тему
Опции темы

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