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

помогите сделать сортировку массива. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Порекомендуйте компилятор C/C++. Желательно с ссылкой. http://www.cyberforum.ru/cpp-beginners/thread374328.html
Все ясно из заголовка. Сейчас пользуюсь Dev C++. Это скорей хорошая идея, чем компилятор(есть ошибки в реализации). Заранее благодарю.
C++ Ошибка Всем доброго времени суток. Никак не могу понять в чем дело:cry: #include "stdafx.h" #include <iostream> #include <iomanip> #include <fstream> using namespace std; void rusfont() { http://www.cyberforum.ru/cpp-beginners/thread374326.html
Выяснить нечетное ли число и оканчивается ли на 6. C++
Хелп,что-то не доходит как решить задачку с помощью вайл,фор. 1.Дано натуральное число. Выяснить нечетное ли оно и оканчивается ли на 6. 2.Вода заполняет 1 куб. м. площади за 35 минут. За сколько времени наполнится бассейн площадью 400 куб.метров. вторую сделал но не через вайл,фор.А как ее сделать через вайл фор непонимаю,подскажите. заранее спасибо
C++ Проблема с первым запуском программы в CODEGEAR RAD STUDIO 2007
А проблема заключается вот в чем: Когда в первый раз или заново запускаю CODEGEAR RAD STUDIO и открываю свой проект и нажимаю Run, то запускается не текущая версия программы,а последняя скомпиленная(или сбилденная ?). И если например поставить где-нибудь брэкпоинт или run to cursor, то строчки с этими метками никогда не будут достигнуты,хотя в программе они фактически выполнились много...
C++ Помогите написать прогу.. http://www.cyberforum.ru/cpp-beginners/thread374302.html
Создать программу, которая реализует журнал с оценками в виде двумерного массива (студенты - строки, оценки за контрольные - столбцы). Предположить, что в группе 9 студентов и 8 контрольных. Заполнить журнал случайными оценками от 4 до 12, показать его на экран. Найти лучшего студента, худшего студента (сумма всех оценок максимальна, минимальна). Средние оценки по каждой контрольной занести в...
C++ Чтение данных из файла в общем у меня есть файл. в нем с начала идет строка указывающая путь к некому файлу. потом разношерстные циферки, каким образом мне можно прочитать эту строку из файла в переменную. пробовал вот както так : FILE * f; char * path; fopen_s(f,"file.txt","r"); fscanf_s(f,"%s",path); вот только переменную path нужно перед этим инициализировать например так подробнее

Показать сообщение отдельно
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
29.10.2011, 06:59     помогите сделать сортировку массива.
честно говоря получилось как-то громоздко и некрасиво.
на ваш как говорится суд.

я сначала сортирую массив который вы генерируете, затем отсортированный массив раскладывая в двухмерный массив по условию задачи.

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "stdafx.h"
#include "iostream"
#include "time.h"
using std::cin;
using std::cout;
using std::endl;
 
#include <iomanip>
using std::setw;
 
void addToTwoDemArray(int a[], int aSize){  
    int b[10][10];
    int j;
    for(int i = 0; i < aSize; ++i){
        if(i == 0){
            j = 0;
        }else if(a[i-1]/10 < a[i]/10){
            j = 0;
        }
        if(j<=9){
            b[(a[i]/10)][9-j] = a[i];
            j++;
        }
    }
 
    for(int k = 0; k < 10; ++k){
        for(int l = 0; l < 10; ++l){
            if(b[l][k] >= 0 && b[l][k] < 100){
                cout << setw(3) << b[l][k] << " ";
            } else {
                cout << setw(4) << " ";
            }
        }
        cout << endl;
    }
}
 
void sortA(int a[], int arraySize){
 
    int tempNum;
 
    for(int i = 1; i < arraySize; i++){
        tempNum = a[i];                                 
        int next = i;                                           
 
        while(next >0 && (a[next-1] > tempNum)){   
            a[next] = a[next-1];                   
            next--;                                       
        }
        a[next] = tempNum;                        
    }
}
 
 
 
int main() {   
    int n;
    const int bRows = 10;
    const int bColumns = 10;
    int a[100];
    int i;
 
    srand(time(NULL));
    setlocale (0,"rus");
    system("cls");
 
    n=rand()%70+30;
 
    cout<<"Количество элементов массива: "<<n<<endl;
 
    for (i=0;i<n;i++){
        a[i]=rand()%100;
        cout<<a[i]<<" ";
    }
    cout<<endl<<endl;
 
    sortA(a,n);
    for (i=0;i<n;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl<<endl;
 
    addToTwoDemArray(a,n);
    cin.get();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru