Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на С++
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ]
Модераторы: paradise, KMA
  

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

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ]

Форум работает на скрипте © Ikonboard.com