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

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

24.03.2010, 15:43. Просмотров 12836. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 15:43
Ответы с готовыми решениями:

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

Заполнить массив рядом чисел от 0 до 9, вывести его на экран
дан массив на 10 элементов (задания делать с помощью циклов). - Заполнить его...

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

Отсортировать по возрастанию массив целых чисел
Помогите пожалуйста срочно нужно но сам не успеваю. Задание : определить на...

Отсортировать по возрастанию и вывести на экран сперва чётные элементы вектора, а затем нечётные
Привет. Вообщем, стоит такая задача: &quot;Вывести на экран сначала отсортированные...

5
Зоти Сергей
229 / 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
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
24.03.2010, 15:58  [ТС] 3
спасибо!
0
easybudda
Модератор
Эксперт CЭксперт С++
10105 / 6014 / 1507
Регистрация: 25.07.2009
Сообщений: 11,398
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
zloivan
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
easybudda
Модератор
Эксперт CЭксперт С++
10105 / 6014 / 1507
Регистрация: 25.07.2009
Сообщений: 11,398
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
28.09.2010, 01:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2010, 01:32

Отсортировать (по неубыванию) методом прямого выбора массив целых чисел A[n], n> 100. Массив заполнить случайным образом
Во втором button сортировка не работает. Помогите( ...

Отсортировать по возрастанию массив 10 целых чисел методом выбора
Привет всем, помогите пожалуйста подготовиться к экзамену по информитикы !! ...

Отсортировать по возрастанию массив 10 целых чисел методом выбора
Опишите алгоритм решения задач на языке программирования C ++. Отсортировать...


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

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

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