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

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

Войти
Регистрация
Восстановить пароль
 
we2seek
79 / 79 / 17
Регистрация: 25.01.2010
Сообщений: 384
#1

Сортировка строк - C++

26.01.2013, 01:44. Просмотров 265. Ответов 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
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
int main()
{
    char arr[11][10] = {
    "Ivanov",
    "Petrenko",
    "Aaron",
    "Sidorov",
    "Fomenko",
    "Braun",
    "Tiesto",
    "Teslenko",
    "Timchenko",
    "Timoshenk",
    "Konkin"
    }; 
    char tmp[10];
    
    for (int i=0; i<11; ++i)
    {
        int pos = i;
        strncpy(tmp, arr[i], 10);
        
        for (int j=i+1; j<11; ++j)
            if ( strcmp(arr[j], tmp) > 0 )
            {
                pos = j;
                strncpy(tmp, arr[j], 10);
            }
 
        strncmp(arr[pos], arr[i], 10);
        strncmp(arr[i], tmp, 10);
    }
 
    for (int i=0; i<11; ++i)
        cout << arr[i] << '\n';
    
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2013, 01:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка строк (C++):

Сортировка строк матрицы C++ (перестановка строк) - C++
Помогите пожалуйста, в матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине...

Сортировка строк - C++
Есть программа. Нужно в calc правильно сортировку написать что бы результаты в алфавитном порядке выбивало. #include &lt;iostream&gt; using...

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

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

Сортировка строк - C++
Берем матрицу (для проверки) 1 5 7 4 4 2 8 9 3 На выходе получаем (см. скриншот) 1 5 7 8 9 3 4 4 2 А должно быть 8 9 3

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2013, 01:52 #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
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
 
void swap(char* left, char* right)
{
    char tmp[10];
    strncpy(tmp, left, 10);
    strncpy(left, right, 10);
    strncpy(right, tmp, 10);
}
 
int main()
{
    char arr[11][10] = {
    "Ivanov",
    "Petrenko",
    "Aaron",
    "Sidorov",
    "Fomenko",
    "Braun",
    "Tiesto",
    "Teslenko",
    "Timchenko",
    "Timoshenk",
    "Konkin"
    }; 
 
    for (int i=0; i<11; ++i)
    {
        for (int j=i+1; j<11; ++j)
        {
            if (strcmp(arr[j], arr[i]) < 0)
                swap(arr[j], arr[i]);
        }
    }
 
    for (int i=0; i<11; ++i)
        cout << arr[i] << '\n';
    
    return 0;
}
we2seek
79 / 79 / 17
Регистрация: 25.01.2010
Сообщений: 384
26.01.2013, 02:04  [ТС] #3
Спасибо, бро!
Ткни носом, че у меня не работало?
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2013, 02:11 #4
скорее всего строчки 33 и 34 нужно было разместить в теле ифа за 30 строчкой и вместо сравнения (strncmp) надо копировать (strncpy).
даже перемещать не надо. просто заменить сравнение на копирование
we2seek
79 / 79 / 17
Регистрация: 25.01.2010
Сообщений: 384
26.01.2013, 02:27  [ТС] #5
Да, точно. Ничего там сравнивать не нужно, нужно копировать. Я собственно так и задумывал, только уже сонный сижу Спасибо за трезвый взгляд и желание помочь, а сортировачка-то отлично работает, если не путать функции:
C++
1
2
strncpy(arr[pos], arr[i], 10);
strncpy(arr[i], tmp, 10);
P.S.: Пошел, наверное, я спать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2013, 02:27
Привет! Вот еще темы с ответами:

Сортировка строк - C++
#include &quot;stdafx.h&quot; #include &quot;string.h&quot; int _tmain(int argc, _TCHAR* argv) { char s,s1,s2; int i,j,l,k=0,a1,a2; ...

Сортировка строк - C++
Сколько букв &quot;У&quot; в введенном слове стоит на четных местах?

Сортировка строк - C++
есть матрица. нужно отсортировать ее по сторокам. Т.е. строки должны идти в порядке возрастания. Сравниваем строки по первому элементу....

Сортировка строк - C++
Упорядочить строки массива по невозрастанию значений последних элементов строк.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.01.2013, 02:27
Ответ Создать тему
Опции темы

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