Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
25 / 25 / 26
Регистрация: 01.10.2015
Сообщений: 175
1

Ошибка в алгоритме

25.10.2015, 14:26. Просмотров 456. Ответов 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
void SortArrayString(string *&arr, int n, char arr2[]) 
/*  arr - массив строк, n - размер массива строк, arr2 - массив символов от a до z, расположенных в порядке возрастания. */
{
    int *Array_of_temp = new int[n];
    char temp;
    string temp2;
    for (int i = 0; i < n; i++)
    {
        temp = (arr[i][0]);
        (char)tolower(temp);
        for (int g = 0; g < 26; g++)
        {
            if (arr2[g] == temp)
                Array_of_temp[i] = g;
        }
    }
 
    for (int i = 0; i < n; i++)
    {
        for (int g = 0; g < n; g++)
        {
            if (i != g)
            {
                if (Array_of_temp[i] > Array_of_temp[g])
                {
                    temp2 = arr[i];
                    arr[i] = arr[g];
                    arr[g] = temp2;
                }
            }
        }
    }
    delete[]Array_of_temp;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2015, 14:26
Ответы с готовыми решениями:

Ошибка в алгоритме
Неправильно работает программа есть сетка (координаты x - в векторе A y - в векторе B) надо из...

Ошибка в алгоритме со строками
По условию задачи, вводится строка со словами, необходимо вывести на экран слово, в котором...

Ошибка в алгоритме Дейкстры
Помогите, пожалуйста исправить ошибки в коде! Не объявлены идентификаторы &quot;all&quot; &quot;information&quot;...

Ошибка в алгоритме Хаффмана. С++
Проблемы с реализацией алгоритма Хаффмана. Код по идее должен быть рабочим, но выскакивает такое...

4
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,585
25.10.2015, 14:48 2
Цитата Сообщение от Default_070 Посмотреть сообщение
C++
1
2
3
4
5
6
if (Array_of_temp[i] > Array_of_temp[g]) 
{ 
   temp2 = arr[i]; 
   arr[i] = arr[g]; 
   arr[g] = temp2; 
}
С какой стати сравниваются строки массива Array_of_temp, а переставляются строки arr?
ПРи такой сортировке Array_of_temp можно вообще не создавать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void SortArrayString(string *&arr, int n) 
/*  arr - массив строк, n - размер массива строк,*/
{
    string temp2;
    for (int i = 0; i < n; i++)
        for (int j = n - 1; j > i; j--)
                if (arr[i] > arr[j])
                {
                    temp2 = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp2;
                }
}
0
25 / 25 / 26
Регистрация: 01.10.2015
Сообщений: 175
25.10.2015, 14:59  [ТС] 3
Сравниваются индексы, соответствующие первой букве каждого слова. Если порядковый номер первой буквы слова больше порядкового номера буквы второго слова, то строки меняются местами.
0
Модератор
Эксперт С++
9913 / 8436 / 5129
Регистрация: 18.12.2011
Сообщений: 22,585
25.10.2015, 15:06 4
Тогда так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void SortArrayString(string *&arr, int n) 
/*  arr - массив строк, n - размер массива строк,*/
{
    string temp2;
    for (int i = 0; i < n; i++)
        for (int j = n - 1; j > i; j--)
                if (arr[i][0]> arr[j][0])
                {
                    temp2 = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp2;
                }
}
Имейте ввиду, что последующие буквы будут в произвольном порядке
1
25 / 25 / 26
Регистрация: 01.10.2015
Сообщений: 175
25.10.2015, 15:07  [ТС] 5
Да, спасибо. Я уже понял что сортировка не та.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2015, 15:07

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

функции. (ошибка в алгоритме)
задание было написать программу для вычисления с заданной точностью. так вот с функцией оно не...

Ошибка в алгоритме сортировки
Пожалуйста укажите мне ошибку в реализуемом мною алгоритме сортировки #include &lt;iostream&gt; ...

Ошибка компилятора С2064 в алгоритме
#include &lt;iostream&gt; #include &lt;set&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; using namespace...

Ошибка компиляции в Алгоритме Брезенхэма
Есть код, который компилю на QT, но всё время ругается на строчку error: 'setPixel' was not...


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

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

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