Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/123: Рейтинг темы: голосов - 123, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
1

Заполнить массив рандом из 20 чисел, отсортировать по возрастанию и вывести на экран

24.03.2010, 15:43. Показов 24165. Ответов 5
Метки нет (Все метки)

всем привет.вот пытаюсь заполнить массив рандом из 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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
    const int max_elem=20;
    int mas[max_elem];
    for(int i=0;i<20;i++)
    {
        mas[i]=rand()%200;
    }
    int elems=max_elem;
    int n;
    for(int cur=0;cur<elems;cur++)
        for(int n=0;n<elems-1;n++)
            if(mas[n]>mas[n+1])
            {
                int t=mas[n];
                mas[n]=mas[n+1];
                mas[n+1]=t;
                cout<<max_elem<<",";
            }
            
    
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2010, 15:43
Ответы с готовыми решениями:

Отсортировать массив по возрастанию и вывести на экран
Дан одномерный массив, состоящий из N вещественных элементов. 1. Заполнить массив случайными...

Заполнить массив из N вещественных чисел случайным образом. Отсортировать его по возрастанию 2 способами
Заполнить массив из N вещественных чисел случайным образом. Отсортировать его по возрастанию 2...

Массив: Отсортировать по возрастанию методом «пузырька» и вывести на экран
1. Создайте целочисленный массив А с помощью генератора случайных чисел с элементами от –15 до 30 и...

Отсортировать массив по возрастанию и вывести на экран нечетные числа
Нужно отсортеровать массив по возростанию и вывести на экран нечетные числа : VAR A:ARRAY of...

5
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
24.03.2010, 15:51 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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
        const int max_elem=20;
        int mas[max_elem];
        for(int i=0;i<max_elem;i++)
        {
                mas[i]=rand()%200;
        }
 
        int n;
        for(int cur=0;cur<max_elem;cur++)
                for(int n=0;n<max_elem-1;n++)
 
                        if(mas[n]>mas[n+1])
                        {
                                int t=mas[n];
                                mas[n]=mas[n+1];
                                mas[n+1]=t;
 
                        }
 
        for(int i=0;i<max_elem;i++)
                cout<<mas[i]<<",";
}
1
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
24.03.2010, 15:58  [ТС] 3
спасибо!
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11032 / 6984 / 1651
Регистрация: 25.07.2009
Сообщений: 12,739
24.03.2010, 16:34 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <set>
#include <iterator>
#include <cstdlib>
#include <ctime>
    
/* выводит 20 случайных чисел от 0 до 99, упорядоченных по возрастанию */
    
int main(){
    std::multiset<int> ms;
    const int SIZE = 20;
    
    srand(time(NULL));
    for ( int i = 0; i < SIZE; ++i )
        ms.insert(rand() % 100);
    
    std::copy(ms.begin(), ms.end(), std::ostream_iterator<int>(std::cout, "\n"));
    
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 8
28.09.2010, 01:00 5
Господа программисты, только недавно начал познавать азы программирования на C++. До этого написал только одну прогу Hello World. В общем, есть задание написать прогу, чтобы после ввода 4ех целых чисел она их сортировала, и выводила по убыванию и возрастанию, вот что получилось:
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.h>
#include <conio.h>
int main()
{int a,b,c,d,n1,n2,n3,n4,rez1,rez2,rez3,rez4;
cout<<"Trebuetsya vvesti 4 chisla"<<endl;
getch();
cout<<"Vvedite chislo 1 - ";
cin>>a;
cout<<"Vvedite chislo 2 - ";
cin>>b;
cout<<"Vvedite chislo 3 - ";
cin>>c;
cout<<"Vvedite chislo 4 - ";
cin>>d;
cout<<"Sortirovka po ubivaniyu - "<<endl;
 
if (a>b) n1=a, n3=b;
        else n3=a, n1=b;
if (c>d) n2=c, n4=d;
        else n4=c, n2=d;
if (n1>n2) rez1=n1, rez2=n2;
        else rez2=n1, rez1=n2;
if (n3>n4) rez4=n4,rez3=n3;
        else rez3=n4,rez4=n3;
cout<<"1 = "<<rez1<<endl<<"2 = "<<rez2<<endl <<"3 = "<<rez3<<endl<<"4 = "<<rez4<<endl;
cout<<"Sortirovka po vozrastaniyu - "<<endl;
cout<<"1 = "<<rez4<<endl<<"2 = "<<rez3<<endl <<"3 = "<<rez2<<endl<<"4 = "<<rez1<<endl;
 
getch(); return 0;
Прога работает, но написана на мой взгляд крайне коряво, тк если бы переменных было не 4 а скажем 6 или более, количество переменных увеличилось бы еще на 4, пожалуйста подскажите какой нить более человеческий способ выполнения задачи (с массивами пока что работать не умею)... Хотелось бы избавится от такого количества переменных, и сократить их хотя бы до 8.

За одно посоветуйте пожалуйста какую-нибудь литературу, толковую, для начинающих. Заранее спасибо.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11032 / 6984 / 1651
Регистрация: 25.07.2009
Сообщений: 12,739
28.09.2010, 01:32 6
Цитата Сообщение от zloivan Посмотреть сообщение
пожалуйста подскажите какой нить более человеческий способ выполнения задачи (с массивами пока что работать не умею)...
прийдётся научиться...
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 <iostream>
#include <algorithm>
#include <functional>
 
int main(){
    int * arr, size;
    std::cout << "Number of elements: ";
    std::cin >> size;
    arr = new int [ size ];
    for ( int i = 0; i < size; ++i ){
        std::cout << "ARRAY[" << i << "] = ";
        std::cin >> arr[i];
    }
    std::cout << "\nSorted ascendant:\n";
    std::sort(arr, arr + size, std::less<int>());
    for ( int i = 0; i < size; ++i )
        std::cout << arr[i] << ' ';
    std::cout << "\n\nSorted descendant:\n";
    std::sort(arr, arr + size, std::greater<int>());
    for ( int i = 0; i < size; ++i )
        std::cout << arr[i] << ' ';
    std::cout << std::endl;
    
    delete [] arr;
    return 0;
}
Цитата Сообщение от zloivan Посмотреть сообщение
недавно начал познавать азы программирования на C++
вот сюда http://www.cplusplus.com/reference/ почаще заглядывайте - много для себя нового найдёте
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2010, 01:32

Создать список из целых чисел, отсортировать по возрастанию и вывести на экран
Помогите плз написать программу на си: программно создать список из целых чисел, отсортировать по...

Дан вещественный массив А[100]. Отсортировать его по возрастанию. Результат вывести на экран
Всем привет. Помогите написать программу. Текст задачи: Дан вещественный массив А. Отсортировать...

Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив по возрастанию
1. Дан одномерный массив из n чисел. Вывести на экран, отсортирован ли массив по возрастанию. 2....

Отсортировать массив случайных чисел и вывести на экран
Помогите исправить! Сортировать по возрастанию #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...


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

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

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