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

Массив,функция смены элементов

27.12.2012, 15:26. Показов 635. Ответов 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <vcl.h>
#pragma hdrstop
 
#include "WF.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TWForm *WForm;
//---------------------------------------------------------------------------
__fastcall TWForm::TWForm(TComponent* Owner)
    : TForm(Owner)
{
WForm->UpDown1->OnClick(NULL,NULL);
}
//---------------------------------------------------------------------------
 
void __fastcall TWForm::UpDown1Click(TObject *Sender, TUDBtnType Button)
{
SizeArr=StrToInt(ESize->Text);
BMax->Enabled=False;
BSwitch->Enabled=False;
BShow->Enabled=False;
SG1->Visible=False;
SG2->Visible=False;
EMax->Text="";
}
//---------------------------------------------------------------------------
 
void __fastcall TWForm::Button1Click(TObject *Sender)
{
randomize();
delete Mas;
Mas=new int[SizeArr];
for(int i=0;i<SizeArr;i++)
    *(Mas+i)=rand()%199-99;
BShow->Enabled=true;
BMax->Enabled=true;
BSwitch->Enabled=true;
SG1->Visible=false;
SG2->Visible=false;
}
//---------------------------------------------------------------------------
 
void __fastcall TWForm::BShowClick(TObject *Sender)
{
SG1->ColCount=SizeArr;
  for(int i=0;i<SizeArr;i++)
      SG1->Cells[i][0]=*(Mas+i);
      SG1->Visible=true;
}
//---------------------------------------------------------------------------
int TWForm::MyFuncArrMax(int* ptMas,int Sz)
{
int max;
max=*ptMas;
for(int x=0;x<Sz;x++)
    if(*ptMas%2==0)
    {
    max=(*ptMas+x);
    }
for(int i=0;i<Sz;i++)
    if((*(ptMas+i))%2!=0)
    {
       if(*(ptMas+i)>max)
       max=*(ptMas+i);
    }
  return max;
}
void __fastcall TWForm::BMaxClick(TObject *Sender)
{
int max;
max=MyFuncArrMax(Mas,SizeArr);
EMax->Text=IntToStr(max);
 
}
//---------------------------------------------------------------------------
 
 
 
void MyFuncArrSwap(int* ptMas,int Sz)
{
int min,maximum,temp,a,b,i;
min=*ptMas;
maximum=*ptMas;
for(i=0;i<Sz;i++)
   {
     if(*(ptMas+i)<min)
     {
       min=*(ptMas+i);
       a=i;
     }
    }
 
for(int i=0;i<Sz;i++)
   {
       if(*(ptMas+i)>maximum)
       {
       maximum=*(ptMas+i);
       b=i;
       }
   }
temp=*(ptMas+a);
*(ptMas+a)=*(ptMas+b);
*(ptMas+b)=temp;
 
}
 
 
 
void __fastcall TWForm::BSwitchClick(TObject *Sender)
{
MyFuncArrSwap(Mas,SizeArr);
SG2->ColCount=SizeArr;
 for(int i=0;i<SizeArr;i++)
SG2->Cells[i][0]=*(Mas+i);
SG2->Visible=true;
}
//----------------------------------





А вот это проблемный кусок кода
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
void MyFuncArrSwap(int* ptMas,int Sz)
{
int min,maximum,temp,a,b,i;
min=*ptMas;
maximum=*ptMas;
for(i=0;i<Sz;i++)
   {
     if(*(ptMas+i)<min)
     {
       min=*(ptMas+i);
       a=i;
     }
    }
 
for(int i=0;i<Sz;i++)
   {
       if(*(ptMas+i)>maximum)
       {
       maximum=*(ptMas+i);
       b=i;
       }
   }
temp=*(ptMas+a);
*(ptMas+a)=*(ptMas+b);
*(ptMas+b)=temp;
 
}
 
 
 
void __fastcall TWForm::BSwitchClick(TObject *Sender)
{
MyFuncArrSwap(Mas,SizeArr);
SG2->ColCount=SizeArr;
 for(int i=0;i<SizeArr;i++)
SG2->Cells[i][0]=*(Mas+i);
SG2->Visible=true;
}



При компилировании выводится ошибка
[Linker Error] Error: Unresolved external 'TWForm::MyFuncArrSwap(int *, int)' referenced from F:\6\DEBUG_BUILD\WF.OBJ

Буду благодарен помощи. Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2012, 15:26
Ответы с готовыми решениями:

Массив и функция (количество нечетных элементов массива, минимальный из элементов и его номер)
Кто добр в душе и может помочь,очень прошу-не откажите девушке!!! Целочисленный массив из N элементов заполнить случайными значениями...

Функция смены текста по клику
Есть div со своим id, нужно по клику вызвать функцию, которая бы проверяла цвет и делала примерно следующее: if (.color == 'red') {.color...

Функция Win API для смены пользователя
Есть ли такая функция в Функция Win API смена пользователя на языке С#

3
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
27.12.2012, 15:30
Вы заметили, что не находится реализация функции TWForm::MyFuncArrSwap, тогда как у вас описана void MyFuncArrSwap? В заголовочном файле что?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 3
27.12.2012, 15:41  [ТС]
Заголовочный файл
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
//---------------------------------------------------------------------------
 
#ifndef WFH
#define WFH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
 
//---------------------------------------------------------------------------
class TWForm : public TForm
{
__published:    // IDE-managed Components
    TStringGrid *SG1;
    TStringGrid *SG2;
    TEdit *ESize;
    TUpDown *UpDown1;
    TButton *Button1;
    TButton *BShow;
    TButton *BMax;
    TButton *BSwitch;
    TEdit *EMax;
    TEdit *EMax1;
    TEdit *EMax2;
    void __fastcall UpDown1Click(TObject *Sender, TUDBtnType Button);
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall BShowClick(TObject *Sender);
    void __fastcall BMaxClick(TObject *Sender);
    void __fastcall BSwitchClick(TObject *Sender);
private:    // User declarations
int *Mas;
int SizeArr;
public:     // User declarations
    __fastcall TWForm(TComponent* Owner);
    int MyFuncArrMax(int*,int);
    void MyFuncArrSwap(int*,int);
 
};
//---------------------------------------------------------------------------
extern PACKAGE TWForm *WForm;
//---------------------------------------------------------------------------
#endif
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
27.12.2012, 15:53
Так может имеет смысл написать в реализации TWForm::MyFuncArrSwap?

Добавлено через 5 минут
Пространство имён
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2012, 15:53
Помогаю со студенческими работами здесь

Функция для блокировки системы и смены пользователя
Доброго времени суток. В моем распоряжении есть коды для выполнения задач связаных с завершением работы сеанса ПК на vb.net. Эти...

Функция записи элементов в массив
Подскажите пожалуйста. Есть ли функция которая бы записывала в массив элементы с заданными параметрами? Например: если...

Функция, добавляющая n элементов в динамический массив
Есть динамический массив заполненый k - колличеством элементов надо сделать функцию которая добавляет n - количество элементов в конец уже...

Функция поиска максимального и минимального элементов одномерного массив
Ребят помогите написать программу УСЛОВИЕ:Написать функцию поиска максимального и минимального элементов одномерного массива. В основной...

Функция: получить массив и вернуть сумму его элементов
Доброго времени суток! Помогите с решением задачи: Напишите функцию, которая принимает массив, а возвращает сумму его элементов. И...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru