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

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

Войти
Регистрация
Восстановить пароль
 
Rasiel
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 11
#1

Сортировка(именно на С) - C++

11.11.2009, 17:04. Просмотров 390. Ответов 2
Метки нет (Все метки)

Упорядочить по возрастанию строки двумерного массива размерностью 5х5)Именно на С, если возможно, то с подробными комментариями, пож.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2009, 17:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка(именно на С) (C++):

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? - C++
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include <iostream> ...

почему именно сортировка очень важна при организации обработки информации - C++
почему именно сортировка очень важна при организации обработки информации?

Почему именно С++? - C++
Всем привет. Кто может объяснить, почему везде востребованы программисты С++? Как эти программисты пишут оконные приложения, если все...

Почему именно C#? - C++
В конечном итоге нужно программировать на 1С, но так как репетитора по 1С найти не реально, решила изучить какой-нибудь-любой язык ООП, в...

Dev-C++, а именно allegro - C++
И снова здравствуйте:) изучаю с++, работаю в Dev-C++. Чтобы начать работать с allegro, достаточно просто ввести #include <allegro.h> ...

указатель this что именно он делает - C++
Вот код: #include <iostream> class test_class { public: void set_var(int a, int b) { varOne = a; varTwo = b; } test_class...

2
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,847
11.11.2009, 17:41 #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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/* функция-обёртка для qsort */
int compare(void *a, void *b){
    return strcmp((char*)a, (char*)b);
}
 
int main(){
    char array[5][5] = {{"cccc"}, {"dddd"}, {"aaaa"}, {"eeee"}, {"bbbb"}}; /*массив */
    int i; /*переменная*/
    
    printf("\nUnsorted:\n"); /* вывод несортированного массива */
    for ( i = 0; i < 5; i++ )
        printf("%s\n", array[i]);
        
    qsort(array, 5, sizeof(array[0]), compare); /* сортировка */
    printf("\nSorted:\n"); /* и снова вывод */
    for ( i = 0; i < 5; i++ )
        printf("%s\n", array[i]);
    
    return 0;
}
0
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
11.11.2009, 17:45 #3
Вот пример небольшой быстрой сортировки, почти на С. Код сортирует введённые символы, и введённые числа.
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
#include <iostream>
using namespace std;
 
template < typename T>
void sort(T *a, long N)
{
        long i = 0,  j = N;
   T temp,p;
   p = a[N/2];
   do{
   while(a[i]<p) i++;
   while(a[j]>p) j--;
   if(i<=j)
   {
           temp = a[i]; a[i]= a[j]; a[j] = temp;
           i++; j--;
   }
   }while(i<=j);
   if(j>0) sort(a,j);
   if(N>i) sort(a+i,N-i);
 
}
 
int main()
{
     int k,v; // Одну и ту же переменную можно использовать дважды и более для разных операций
         setlocale(LC_ALL, "Russian");
 
    cout << "Введите кол-ство чисел: ";
    cin >> k; // Вводим кол-ство элементов
 
     int* a = new int [k]; // Выделяем память под массив
     
     for(int i = 0; i < k; i++) { // Заполняем массив 
     cin >> a[i];       // Введёнными с клавиатуры цифрами
         
     }
 
     sort(a, k-1);  // Сортируем
     cout << "\nОтсортированный массив: ";
     for(int i = 0; i < k; i++) // Выводим отсортированный массив
     cout << a[i] << ' ';
 
     delete[] a; // Освобождаем память.
     ///////////////////////////////////////////////////////////////////////////
         //////////////////////////////////////////////////////////////////////////
 
         cout << "\nВведите кол-ство символов: ";
     cin >> k;  // Вводим кол-ство символов для второго массива
 
     char* b = new char[k];  // Выделяем под него память.
 
 setlocale(LC_ALL, "C");
     
     for(int i = 0; i < k; i++) {  // Вводим значения
          cin >> b[i];
         }
 setlocale(LC_ALL, "Russian");
 
     sort(b, k-1);  // Сортируем
     cout << "\nОтсортированный массив: ";
 
 setlocale(LC_ALL, "C");
 
     for(int i = 0; i < k; i++)  // Выводим отсортированный
     cout << b[i] << ' ';
 
         delete[] b; // Освобождаем память.   
         
     cin.get();
 
     return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2009, 17:45
Привет! Вот еще темы с ответами:

Как именно работает директива using? - C++
Здравствуйте, уважаемые форумчане! Я изучаю основы языка C++ по книге С.Прата. Наткнулся на такой отрывок: &quot;Директива using делает...

1) Структура 2) строки нужно Именно на Си, а не на Си++ - C++
1) Даны стоимости двух товаров в рублях и копейках. Найти суммарную стоимость покупки и рассчитать сдачу. 2) Удалить все символы в...

Как именно округляются float и double? - C++
Вот имеется double l, функция sqrt из cmath и следующие формулы: sqrt(2-2*sqrt(1-l*l/4)) ...

Какие библиотеки\фреймворки используете именно вы - C++
Какие библиотеки\фреймворки используете именно вы для разработки ПО\игр (Отдельно для каждого). Заранее спасибо за ответ.


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

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

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