Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
1

Пузырьковая сортировка выкидывает ошибку...

26.04.2012, 18:20. Показов 946. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Выкидывает вот такую ошибку - Run-Time Check Failure #3 - The variable 't' is being used without being initialized.
Что я не так сделал?

задание - обавить в определение структуры Пямоугольник оператор <, при этом считать меньшим прямоугольник
с меньшей площадью. Написать функцию, которая выполняет пузырьковую сортуровку массива типа Праямоугольник.
Прототип функции - void PSortRecangle(Rectangle *mas, int masLenght);

C++ (Qt)
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
struct Rectangle  
{
    unsigned int height;
    unsigned int width;
 
    bool operator > (const Rectangle &sg) // bool vozvras4aemyj tip &sg - ssylka prjamougolnik s menjshej ploshadju
    {
        return ((this->width * this->height) < (sg.width * sg.height)); 
    }
};
 
 
void PSortRectangle(Rectangle *arr, int size) // sortirovka
{  int a, b;
   Rectangle *t;
 
  for(a=1; a < size; ++a)
    for(b=size-1; b >= a; --b) {
      if(arr[b-1] > arr[b]) {
        /* exchange elements */
        *t = arr[b-1];
        arr[b-1] = arr[b];
        arr[b] = *t;
      }
    }
rectangle_print(&arr[0]);
};
int main()
{
PSortRectangle(&rectangle[0], ARR_SIZE);
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2012, 18:20
Ответы с готовыми решениями:

Пузырьковая сортировка
Посмотрите что не так дана таблица стран с кол-вом золотых, серебряных медалей нудно...

Пузырьковая сортировка
Есть курсовик. Есть пузырьковая сортировка Есть одно НО. Сортировка должна быть сделана через...

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

Пузырьковая сортировка
Дан одномерный массив целых чисел A. Напишите программу, которая упорядочит все элементы до...

12
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
26.04.2012, 18:23 2
Цитата Сообщение от jvov Посмотреть сообщение
Run-Time Check Failure #3 - The variable 't' is being used without being initialized
открываем переводчик и переводим, переменная t была использована без иницализации
ошибка тут
C++
1
2
Rectangle *t;
*t = arr[b-1];
переменная t НИКУДА не указывает и вы в это "НИКУДА" пытаетесь записать значение!
1
Заблокирован
26.04.2012, 18:25 3
Очевидно, что в 22 строке и в 24 строке имеет место попытка разименовывания ни на что не ссылающегося указателя.
1
7 / 7 / 4
Регистрация: 10.04.2012
Сообщений: 31
26.04.2012, 18:31 4
Переменная t — временная, посему она и создается и удаляется в пределах цикла, в котором используется.
1
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
26.04.2012, 18:40  [ТС] 5
Цитата Сообщение от panicwassano Посмотреть сообщение
открываем переводчик и переводим, переменная t была использована без иницализации
ошибка тут
C++
1
2
Rectangle *t;
*t = arr[b-1];
переменная t НИКУДА не указывает и вы в это "НИКУДА" пытаетесь записать значение!
а если я её делаю int, то выдает ошибку... Что не могу додуматься, что нужно изменить, что бы работало?
0
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
26.04.2012, 18:42 6
Сделайте через объекты, а не указатели.
C++
1
2
Rectangle t;
t = arr[b-1];
1
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
26.04.2012, 21:35  [ТС] 7
Цитата Сообщение от antoha398 Посмотреть сообщение
Сделайте через объекты, а не указатели.
C++
1
2
Rectangle t;
t = arr[b-1];
Спасибо, теперь все работает, только вот сортируется наоборот

все -а заработало
вот эту строчку надо было поменять
C++
1
 if(arr[b+1] < arr[b]) {
Добавлено через 2 часа 34 минуты
fatal error C1075: end of file found before the left brace '{' at was matched

из за этой ошибки весь проект не запускается, вроде ругается на скобку такую { но вроде перепроверил все - верно. Что это может быть?


Скажите, что у меня не так в шаблоне сортировки, почему-то на него ругается компилятор?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<class Type> void bubble(Type *arr, int size) // wablon sortirovki
{
    {  int a, b;
   Type t;
 
  for(a=1; a < size; ++a)
    for(b=size-1; b >= a; --b) {
      if(arr[b+1] < arr[b]) {
        // exchange elements
        t = arr[b-1];
        arr[b-1] = arr[b];
        arr[b] = t;
      }
    }
};
0
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
26.04.2012, 21:36 8
после определения функции PSortRectangle уберите ;
1
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
26.04.2012, 21:42  [ТС] 9
Цитата Сообщение от antoha398 Посмотреть сообщение
после определения функции PSortRectangle уберите ;
что-то не помогает? Или что вы имели ввиду?
0
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
26.04.2012, 21:46 10
ой.. я не туда глянул)
0
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
26.04.2012, 21:48  [ТС] 11
Цитата Сообщение от antoha398 Посмотреть сообщение
ой.. я не туда глянул)
а сама шаблонная функция сортировки правильно написана?
0
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
26.04.2012, 21:52 12
а зачем вам пара скобок которая открывается перед int a?

Добавлено через 1 минуту
посмотрите здесь через шаблон сделано
Алгоритмы сортировок
1
1 / 1 / 4
Регистрация: 28.09.2011
Сообщений: 113
26.04.2012, 21:55  [ТС] 13
Цитата Сообщение от antoha398 Посмотреть сообщение
а зачем вам пара скобок которая открывается перед int a?

Добавлено через 1 минуту
посмотрите здесь через шаблон сделано
Алгоритмы сортировок
Блин, спасибо огромное!!!, везде излазил... а как раз то, там и затаилась лишняя скобочка
Все заработало. Ещё раз спасибо!
0
26.04.2012, 21:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2012, 21:55
Помогаю со студенческими работами здесь

Пузырьковая сортировка
Хочу спросить, это пузырьковая сортировка или нет? Как её правильно реализовать? Как оценить...

Пузырьковая сортировка
Здравствуйте .Объясните , пожалуйста , подробно , как работает пузырьковая сортировка . ...

Пузырьковая сортировка
Помогите исправить не сортирует массив.Еще должен считать кол-во шагов прохода цикла. #include...

Пузырьковая сортировка
Написал программу сортировки методом пузырька: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru