KsuhaMM
Новичок
|
Ребята,помогите разобраться,пожалуйста. Как работать с массивом указателей? У меня такая задача:разработать функции для включения,поиска,удаления идентификатора из таблицы.Способ представления таблицы-массив указателей га динамические элементы,метод поиска -линейный. Уже вот что есть: Unit2/cpp #pragma hdrstop #include "Unit2.h" #include "Unit1.h" int add(ident* xdata, ident* newelement) { if ((xdata==NULL)||(xdata[length-1]!=NULL)) return -1; int count=0; while (xdata[count]!=NULL) count++; xdata[count]=(ident*)malloc(sizeof (ident)); xdata[count].name=newelement->name; xdata[count].atr=newelement->atr; return 1; ) int del (ident* xdata,ident* element) { if (xdata==NULL) return -1; int count = 0; while ((xdata[count].atr!=element.atr)&&(count<length)) count++; if (count == length) return -1; free(xdata[count]); xdata[count] = NULL; return 1; } int search (ident* xdata, ident* element) { if (xdata==NULL) return -1; int count = 0; while ((xdata[count].atr!=element.atr)&&(count<length)) count++; if (count==length) return -1; return count; } //--------------------------------------------------------------------------- #pragma package(smart_init) Unit2.h #ifndef Unit2H #define Unit2H struct ident { char *name; int *atr; }; int add(ident* xdata, ident* newelement); int del (ident* xdata,ident* element); int search (ident* xdata, ident* element); //--------------------------------------------------------------------------- #endif Unit1.cpp #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int length=1000; ident *data=(ident*)malloc(length*sizeof(ident));; int count1=0; while (data[count1]!=NULL) count1++; strcpy(data[count1], StringGrid1->Cells[0][count1+1].c_str() ); data[count1].atr=StrToInt(StringGrid1->Cells[1][count1+1]); return 1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::N2Click(TObject *Sender) { ident *el=Edit1->Text; add(data[0],el); } //--------------------------------------------------------------------------- В главном (Unit1) ничего не работает,конечно,начиная с while. На форме у меня StringGrid1 и меню.Да,идентификатор-структура с именем и атрибутом-числом. (Сообщение отредактировал KsuhaMM 13 окт. 2008 18:14)
|
Всего сообщений: 2 | Присоединился: октябрь 2008 | Отправлено: 13 окт. 2008 18:11 | IP
|
|
reina
Новичок
|
ребята, не подскажите код как вставить bmp картинку в Turbo C++ под DOS?
|
Всего сообщений: 8 | Присоединился: февраль 2008 | Отправлено: 14 окт. 2008 18:40 | IP
|
|
Guest
Новичок
|
решите задачу срочно,ПЛЗ)))Она не трудная вроде, ноя не шарю.... Дано натуральное число n>1. Определить длину периода десятичной записи дроби 1/n
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 28 окт. 2008 20:02 | IP
|
|
Guest
Новичок
|
Ребят..если не сложно помогите пожалуйста...задачка не сложная)я знаю как ее решать но проблема что не знаю как написать(синтаксисом не владею)....нужно использовать тупо циклы: Дано натуральное число. Если возможно, заменить любую из его цифр (только одну) так, чтобы получилось максимальное число Фибоначчи. Число фибоначчи эт число из последовательности Фибоначчи(то есть число равно сумме двух предыдущих, а именно.......0 1 1 2 3 5 8 13 21 34 55 и так далее)
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 29 окт. 2008 0:03 | IP
|
|
mermaidAlyona
Новичок
|
Помогите решить задачку. Даны два массива размера N, элементы которых упорядоченны по возрастанию объеденить эти массивы так, чтобы результирующий массив остался упорядоченным.
|
Всего сообщений: 1 | Присоединился: октябрь 2008 | Отправлено: 29 окт. 2008 20:49 | IP
|
|
Murrrka
Новичок
|
(Сообщение отредактировал Murrrka 13 нояб. 2008 14:25)
|
Всего сообщений: 14 | Присоединился: сентябрь 2008 | Отправлено: 1 нояб. 2008 13:31 | IP
|
|
Murrrka
Новичок
|
я вообще эти указатели не понимаю!! объясните кто-нить
|
Всего сообщений: 14 | Присоединился: сентябрь 2008 | Отправлено: 6 нояб. 2008 14:51 | IP
|
|
Nattka
Новичок
|
Помогите решить 2 задачки: По теме: "Обработка двухмерных динамических массивов". Определить, является ли квадратная матрица симметричной относительно побочной диагонали. По теме: "Обработка одномерных массивов" . Сумму модулей элементов массива, расположенных после минимального по модулю элемента.
|
Всего сообщений: 2 | Присоединился: ноябрь 2008 | Отправлено: 25 нояб. 2008 22:08 | IP
|
|
izuha
Новичок
|
Здравствуйте! Помогите, пожалуйста, с решением следующей задачи: нужно создать графическую модель движения Земли вокруг солнца. По моему мнению, должна работать следующая программа: #include <graphics.h> #include <stdio.h> #include <conio.h> #include <dos.h> #define PATHTODRIVER "c:\\borlandc\\bgi\\" void okr(int x, int y, int r, int color) { setcolor(color); circle(x,y,r); } void sin(double f) { sin(f); } void cos(double f) { cos(f); } void main(void) { int x,y; double f; int r=5; #define dt 10 #define df 5 int maxx; int miny; int gdriver = DETECT; int gmode; int errorcode; initgraph(&gdriver, &gmode, PATHTODRIVER); errorcode=graphresult(); if (errorcode == grOk) { x=0; y=100; f=0; while (x<maxx) { f+=df; okr(300,250,50,YELLOW); okr(x,y,r,CYAN); delay(dt); okr(x,y,r,BLACK); cos(f); sin(f); x+=r*cos(f); y+=r*sin(f); } closegraph(); } else { printf("Mistake: %d\n", errorcode); puts("Nazhmite enter"); getch(); } } Но выдаёт ошибки в строкax x+=r*cos(f), y+=r*sin(f): not an allowed type. Может быть, как-нибудь по-другому нужно делать?
|
Всего сообщений: 3 | Присоединился: ноябрь 2008 | Отправлено: 29 нояб. 2008 17:21 | IP
|
|
bekas
Долгожитель
|
Что за бесконечная рекурсия для собственных sin и cos? И чем вам не нравятся стандартные sin и cos? И чего вы жалуетесь на компилятор, если ваши sin и cos ничего не возвращают (имеют тип void)? Что прикажете делать на его месте при компиляции r*cos(f), когда неизвестно, на что надо умножить r?
|
Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 29 нояб. 2008 19:35 | IP
|
|
|