Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 17
1

Сортировка массива

16.12.2012, 20:36. Показов 2122. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с проблемой при сортировке одномерного массива "пузырьком"
Собсна, код:
Кликните здесь для просмотра всего текста
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#define N 9
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Label2 -> Caption = "A - Create array" ;
Label1 -> Caption = "B - Sort array" ;
Label3 -> Caption = " " ;
Label4 -> Caption = " " ;
Memo1 -> Clear();
Memo2 -> Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1 -> Clear();
Memo2 -> Clear();
Label3 -> Caption = " " ;
Label4 -> Caption = " " ;
int i, A[N];
Memo1 -> Clear();
AnsiString Str;
for (i = 0; i <= 9; i++)
{
A[i] = random(10) ;
Str += IntToStr (A [i])+ " " ;
}
Memo1 -> Lines -> Add(Str);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int a;
AnsiString Str;
for (i = 0; i <= 8; i++)
{
if (A[i] > A[i+1])
{a = A[i+1];
A[i+1] = A[i];
A[i] = a;
}
}
for (i = 0; i <=9; i++)
{
Str += IntToStr(A[i])+ " " ;
}
Memo2 -> Lines -> Add(Str);
}


И что из этого получается:
[IMG]выкладывайте вложения на форум[/IMG]
По изначальной задумке в Memo2 должны выводиться шаги сортировки по нажатию кнопки, но...
Где косяк? В каком месте массив забивается нулями?
Миниатюры
Сортировка массива  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2012, 20:36
Ответы с готовыми решениями:

Сортировка массива
Помогите сделать программу: Массив, нужно отсортировать методом Min и Max, и что бы стрелочками...

Сортировка массива
Нужно вывести массив в стринггрид В первый столбец номер i, во второй значение Mas. Но нужно...

Сортировка массива!
Написал программу, но она не сортирует массив по возрастанию! не могу понять почему?!?! сама...

Сортировка массива
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

4
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
17.12.2012, 00:48 2
Цитата Сообщение от relic Посмотреть сообщение
Столкнулся с проблемой при сортировке одномерного массива "пузырьком"
Собсна, код:
Кликните здесь для просмотра всего текста
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#define N 9
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Label2 -> Caption = "A - Create array" ;
Label1 -> Caption = "B - Sort array" ;
Label3 -> Caption = " " ;
Label4 -> Caption = " " ;
Memo1 -> Clear();
Memo2 -> Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1 -> Clear();
Memo2 -> Clear();
Label3 -> Caption = " " ;
Label4 -> Caption = " " ;
int i, A[N];
Memo1 -> Clear();
AnsiString Str;
for (i = 0; i <= 9; i++)
{
A[i] = random(10) ;
Str += IntToStr (A [i])+ " " ;
}
Memo1 -> Lines -> Add(Str);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int a;
AnsiString Str;
for (i = 0; i <= 8; i++)
{
if (A[i] > A[i+1])
{a = A[i+1];
A[i+1] = A[i];
A[i] = a;
}
}
for (i = 0; i <=9; i++)
{
Str += IntToStr(A[i])+ " " ;
}
Memo2 -> Lines -> Add(Str);
}


И что из этого получается:
[IMG]выкладывайте вложения на форум[/IMG]
По изначальной задумке в Memo2 должны выводиться шаги сортировки по нажатию кнопки, но...
Где косяк? В каком месте массив забивается нулями?
Странно как оно у тебя вообще работало

Пробуй так

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#define N 9
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i, A[N];
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 Label2 -> Caption = "A - Create array" ;
 Label1 -> Caption = "B - Sort array" ;
 //Label3 -> Caption = " " ;
// Label4 -> Caption = " " ;
 Memo1 -> Clear();
 Memo2 -> Clear();
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1 -> Clear();
 Memo2 -> Clear();
 //Label3 -> Caption = " " ;
 //Label4 -> Caption = " " ;
 
 Memo1 -> Clear();
 AnsiString Str;
 for (i = 0; i <= 9; i++)
 {
 A[i] = random(10) ;
 Str += IntToStr (A [i])+ " " ;
 }
 Memo1 -> Lines -> Add(Str);        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 int a;
 AnsiString Str;
 for (i = 0; i <= 8; i++)
 {
 if (A[i] > A[i+1])
 {a = A[i+1];
 A[i+1] = A[i];
 A[i] = a;
 }
 }
 for (i = 0; i <=9; i++)
 {
 Str += IntToStr(A[i])+ " " ;
 }
 Memo2 -> Lines -> Add(Str);
}
//---------------------------------------------------------------------------
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 17
17.12.2012, 02:27  [ТС] 3
Благодарю, заработало
Теперь интересует почему проге так принципиально не нравилось создание массива по нажатию кнопки и почему оно не должно было запуститься?
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
17.12.2012, 11:12 4
Цитата Сообщение от Sasha Посмотреть сообщение
int i, A[N];
Вот эта вещь не объявлена глобально
1
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 17
17.12.2012, 11:19  [ТС] 5
Ну в общем-то так и понял, спасибо)
Просто не думал, что это настолько принципиально.
0
17.12.2012, 11:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2012, 11:19
Помогаю со студенческими работами здесь

Сортировка массива
Помогите, пожалуйста! Вот код программы: #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #include...

Сортировка массива
Привет!! У меня такой вопрос. У меня есть одномерный массив из 7 элементов, мне нужно сделать...

Сортировка массива по убыванию
Здравствуйте. Есть код, благодаря которому сортируется массив по убыванию. А мне нужен по...

сортировка массива AnsiString
подскажите как отсортировать массив AnsiString name не только по длине но и по алфавиту

Сортировка массива по возрастанию
5. Дан массив целых чисел. Написать программу для сортировки массива по возрастанию.

Сортировка массива структур
Доброе время суток. Есть такая проблема: Существует массив структур zap zapis, cама структура ...


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

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