Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 27.06.2020
Сообщений: 8

Заполнить массив из 10 элементов случайными числами в интервале [0.100]

27.06.2020, 15:07. Показов 5750. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заполнить массив из 10 элементов случайными числами в интервале [0..100] и
отсортировать первую половину по возрастанию, а вторую – по убыванию.

На C, не C++
Этот код не тот что нужен

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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
 srand (time(0));
 int N=10, x[N],y[N],k,j;
 for (int i=0; i<N; i++) {
    x[i]=rand() %100;
    cout<< x[i] <<" ";
 }
  cout<< endl;
  j=-1;
  for (int i= 0; i< N; i++) {
    k=x[i]/10;
    if(k% 10== 0){
    j++;
    y[j]=x[i];
   }
}
   if(j==-1)
   cout<< "Not found"<<endl ;
   else
    for (int i= 0; i<=j; i++) {
     cout<< y[i] << " ";
   }
  return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2020, 15:07
Ответы с готовыми решениями:

Заполнить массив из 10 элементов случайными числами в интервале [0..100] и отсортировать его по последней цифре
Заполнить массив из 10 элементов случайными числами в интервале и отсортировать его по последней цифре. #include &lt;stdio.h&gt; ...

Заполнить массив состоящий из N элементов случайными числами в интервале от -100 до 100
Как заполнить массив состоящий из N элементов случайными числами в интервале от -100 до 100. В результате должен получиться возрастающий...

Заполнить массив из 10 элементов случайными числами в интервале [0.100] и отсортировать первую половину по
Может кому нибудь да пригодится) Стараюсь все делать по шагам и чтобы было понятно каждому. Иногда вижу простые программы, но...

2
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
29.06.2020, 16:35
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
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
 
#define N 10
 
typedef int (*cmp_fn)(int, int);
 
int less(int val1, int val2) {
    return val1 < val2;
}
 
int greater(int val1, int val2) {
    return val1 > val2;
}
 
void sort(int a[], int from, int to, cmp_fn cmp) {
    for (int i = from; i < to - 1; ++i) {
        int k = i;
        for (int j = k + 1; j < to; ++j)
            if (cmp(a[j],  a[k]))
                k = j;
        if (k != i) {
            int t = a[k];
            a[k] = a[i];
            a[i] = t;
        }
    }
}
 
void print(int a[], int n) {
    for (int i = 0; i < n/2; ++i)
        printf("%d ", a[i]);
    printf("| ");
    for (int i = n/2; i < n; ++i)
        printf("%d ", a[i]);
    puts("");
}
 
int main(void) {
    int a[N];
 
    srand(time(NULL));
    for (int i = 0; i < N; ++i) 
        a[i] = rand()%101;
 
    print(a, N);
    sort(a, 0, N/2, less);
    sort(a, N/2, N, greater);
    print(a, N);
 
    return 0;
}
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,326
30.06.2020, 13:17
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
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define N 10
 
int cmp_more (const void *a, const void *b) { return *(int *)a - *(int *)b; }
int cmp_less (const void *a, const void *b) { return *(int *)b - *(int *)a; }
 
int main (void) {
    srand( (unsigned int)time(NULL)/2 );
    int i, a[N];
 
    for (i = 0; i< N; ++i)
        printf("%4d", a[i] = rand() %101);
    puts("");
 
    int middle = N >> 1;
    qsort(a, middle, sizeof(int), cmp_more);
    qsort(a+middle, middle, sizeof(int), cmp_less);
 
    for (i = 0; i< N; ++i)
        printf("%4d", a[i]);
    puts("");
    return 0;
}
Добавлено через 1 час 13 минут
или сортируем вручную, например пузырьком:
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
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define N 10
#define swap(a, b) {int t = a; a = b; b = t; }
 
int main (void) {
    srand( (unsigned int)time(NULL)/2 );        // новая точка отсчета случайных
    int i, k, a[N];
 
    for (i = 0; i < N; ++i)                     // заполняем и выводим на экран
        printf("%4d", a[i] = rand() %101);
    puts("");
 
    for (i = N/2-1; i > 0; --i)                 // сортируем левую половину
        for (k = 0; k < i; ++k)
            if (a[k] > a[k+1]) swap(a[k], a[k+1]);
    for (i = N-1; i > N/2; --i)                 // сортируем правую половину
        for (k = N/2; k < i; ++k)
            if (a[k] < a[k+1]) swap(a[k], a[k+1]);
 
    for (i = 0; i < N; ++i)                     // выводим массив на экран
        printf("%4d", a[i]);
    puts("");
    return 0;
}
Для новичков, у которых понимание 5 строки вызывает трудности. При сборке вместо swap(a[k], a[k+1]); будет автоматически подставлено { int t = a[k]; a[k] = a[k+1]; a[k+1] = t; }; т.е. такая запись эквивалентна коду:
Кликните здесь для просмотра всего текста
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
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define N 10
 
int main (void)
{
    srand( (unsigned int)time(NULL)/2 );    // новая точка отсчета случайных
    int a[N];
    int i, k, t;
 
    for (i = 0; i < N; ++i)
    {
        a[i] = rand() %101;             // заполняем массив случайными
        printf("%4d", a[i]);            // и выводим на экран
    }
    puts("");
 
    for (i = N/2-1; i > 0; --i)         // сортируем левую половину массива
    {
        for (k = 0; k < i; ++k)
        {
            if (a[k] > a[k+1])
            {
                t = a[k];               // менем a[k] и a[k+1] местами
                a[k] = a[k+1];
                a[k+1] = t;
            }
        }
    }
 
    for (i = N-1; i > N/2; --i)         // сортируем правую половину массива
    {
        for (k = N/2; k < i; ++k)
        {
            if (a[k] < a[k+1])
            {
                t = a[k];               // менем a[k] и a[k+1] местами
                a[k] = a[k+1];
                a[k+1] = t;
            }
        }
    }
 
    for (i = 0; i < N; ++i)             // выводим массив на экран
    {
        printf("%4d", a[i]);
    }
    puts("");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2020, 13:17
Помогаю со студенческими работами здесь

Заполнить массив случайными числами в интервале [0,100] и подсчитать среднее значение элементов
Еще одну задачу помогите, если несложно. Заполнить массив случайными числами в интервале и подсчитайте отдельно среднее значение всех...

Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные
Помогите решить задачу: Заполнить массив случайными числами в интервале и переставить элементы так, чтобы все положительные элементы...

Заполнить массив случайными числами, лежащими в интервале от 0 до 100
Доброе время суток уважаемые форумщики. Помогите решить задачу по С++. Нужно заполнить массивы случайными числами, лежащими в интервале...

Заполнить массив случайными числами, лежащими в интервале от 0 до 100
Здравствуйте, не могу понять как решить задачу, если кто знает, помогите Заполнить массив случайными числами, лежащими в интервале от...

Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы
Заполнить массив случайными числами в интервале и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru