С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.87
jayson
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 26
#1

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

24.03.2010, 15:43. Просмотров 10956. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнить массив рандом из 20 чисел, отсортировать по возрастанию и вывести на экран (C++):

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

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

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

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

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

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

5
Зоти Сергей
228 / 226 / 13
Регистрация: 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Эксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,864
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Эксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,864
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
Привет! Вот еще темы с ответами:

Получить массив нечетных чисел и отсортировать его по возрастанию методом выбора - C++
массив из N целых чисел. Получить из него массив нечетных чисел и отсортировать его по возрастанию методом выбора. Найти повторяющиеся...

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

Вывести массив, отсортировать по возрастанию, и определить содержится ли в нем хотя бы 2 одинаковых значения - C++
вводить элементы одномерного массива пока не будет 2 четных элемента, вывести его, отсортировать по возрастанию, и определить содержится...

Отсортировать массив по убыванию, затем добавить недостающий элемент и отсортировать массив по возрастанию - C++
2) В массиве a ...a встречаются по одному разу все целые числа от 0 до n, кроме одного. За n действий найти пропущенное число с конечной...


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

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

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