Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 17:58   #1
GreenTerrapin
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 1
Вопрос лабы по С++

(СРОЧНО)Лабораторные работы в С++!мои контактные данные: icq 354510135, gira21@mail.ru

Лабораторная работа №1. (12до четверга 23.12)Напишите программу, создающую таблицу идентификаторов с помощью хэш-функций на основе метода простого рехэширования. В качестве исходных данных для заполнения дерева возьмите любой текстовый файл, считая, что все слова в нем являются идентификаторами. Организуйте программу таким образом, чтобы в ней можно было легко подменять используемую хэш-функцию. Подсчитывая число коллизий и среднее количество сравнений для поиска идентификатора, сравните результаты для различных хэш-функций. В качестве исходных данных для хэш-функции использовать коды первых двух букв идентификатора.

Лабораторная работа №2(нужнодо завтра,до 21.) (уже сделана,но нужно описание как она сделана,что означает каждое действие). Вращения октаэдра.
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
class Tplat
{
public:
bool okt;
float mas_okt[6][6];
float izom[4][4];
void postr();
void pov();
void ymn(int n);
void vrashYvl(int n, int fi);

};
Tplat plat;
struct Tkoord
{float x,y;
};
Tkoord koord[19];
int m;
float j,k; bool p;


void Tplat::ymn(int n)
{
for(int i=0;i<=n;i++)
{
koord[i].x=(mas_okt[i][0]*izom[0][0])+(mas_okt[i][1]*izom[1][0])+(mas_okt[i][2]*izom[2][0]);
koord[i].y=(mas_okt[i][0]*izom[0][1])+(mas_okt[i][1]*izom[1][1])+(mas_okt[i][2]*izom[2][1]);
}
}

void Tplatstr()
{
//=================================== =================================/октаэдр
int okt_reb[8][4]= {{ 1 , 2 , 5 , 1 }, //1
{ 1 , 3 , 2 , 1 }, //2
{ 1 , 4 , 3 , 1 }, //3
{ 1 , 5 , 4 , 1 }, //4
{ 2 , 3 , 6 , 2 }, //5
{ 2 , 6 , 5 , 2 }, //6
{ 3 , 4 , 6 , 3 }, //7
{ 4 , 5 , 6 , 4 }};//8
izom[0][0]= cos(j); izom[0][1]= sin(j)*sin(k); izom[0][2]= 0; izom[0][3] = 0;
izom[1][0]= 0; izom[1][1]= cos(k); izom[1][2]= 0; izom[1][3] = 0;
izom[2][0]= sin(j); izom[2][1]= -sin(k)*cos(j); izom[2][2]= 0; izom[2][3] = 0;
izom[3][0]= 0; izom[3][1]= 0; izom[3][2]= 0; izom[3][3]= 1;
const con1=200,con2=200;
ymn(5);
for(int i=0,l=0;i<=7;i++)
{
for(l=0;l<4;l++)
{
Form1->Canvas->MoveTo(koord[okt_reb[i][l]-1].x+con1,koord[okt_reb[i][l]-1].y+con2);
Form1->Canvas->LineTo(koord[okt_reb[i][l+1]-1].x+con1,koord[okt_reb[i][l+1]-1].y+con2);
}
}
}
void Tplat::vrashYvl(int n, int fi)
{
float A,B,C;
for (int i=0;i<=n;i++)
{
A=mas_okt[i][0];
B=mas_okt[i][1];
C=mas_okt[i][2];
mas_okt[i][0]=A*cos(fi/57.3)-C*sin(fi/57.3);
mas_okt[i][1]=B;
mas_okt[i][2]=A*sin(fi/57.3)+C*cos(fi/57.3);
}
ymn(n);
Form1->Refresh();
postr();
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
plat.postr();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

//=================================== =================================== ========== =================================== ================/тетраэдр
// X Y Z
plat.mas_okt[0][0] = 0 ; plat.mas_okt[0][1] = 200 ; plat.mas_okt[0][2] = 0;
plat.mas_okt[1][0] = 200 ; plat.mas_okt[1][1] = 0 ; plat.mas_okt[1][2] = 0;
plat.mas_okt[2][0] = 0 ; plat.mas_okt[2][1] = 0 ; plat.mas_okt[2][2] = 200;
plat.mas_okt[3][0] = -200 ; plat.mas_okt[3][1] = 0 ; plat.mas_okt[3][2] = 0;
plat.mas_okt[4][0] = 0 ; plat.mas_okt[4][1] = 0 ; plat.mas_okt[4][2] = -200;
plat.mas_okt[5][0] = 0 ; plat.mas_okt[5][1] = -200 ; plat.mas_okt[5][2] = 0;
p=false;
j=0; k=0;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
switch (Key)
{
case VK_RIGHT: {
j=j+1/57.3;
Form1->Refresh();
plat.postr();
break;
}
case VK_LEFT: {
j=j-1/57.3;
Form1->Refresh();
plat.postr();
break;
}
case VK_UP: {
k=k-1/57.3;
Form1->Refresh();
plat.postr();
break;
}
case VK_DOWN: {
k=k+1/57.3;
Form1->Refresh();
plat.postr();
break;
}
case VK_RETURN: {

if (p==true) {Timer1->Enabled=true;}
if (p==false) {Timer1->Enabled=false;}
if (p==true) {p=false;}
else {p=true;}
plat.postr();
break;
}
case VK_SPACE: {
Timer1->Enabled=false;
Form1->Refresh();
k=0;j=0;
break;
}
case VK_ESCAPE: { Form1->Close();
break;
}
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
plat.vrashYvl(5,1);
}
//---------------------------------------------------------------------------

Последний раз редактировалось GreenTerrapin; 20.12.2010 в 19:05. Причина: сроки
GreenTerrapin вне форума Ответить с цитированием
Старый 20.12.2010, 21:43   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Первую могу сделать. Скайп внизу или мыло directwix@gmail.com
TwiX вне форума Ответить с цитированием
Старый 21.12.2010, 14:24   #3
GreenTerrapin
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 1
По умолчанию лаба1

я написала вам на мыло.....посмотрите пожалуйста
GreenTerrapin вне форума Ответить с цитированием
Старый 21.12.2010, 18:12   #4
ZhekaSLK
 
Регистрация: 07.12.2010
Сообщений: 7
По умолчанию

Задача. Дана матрица размерностью M*N. Способом перестановки строк и столбцов добиться, чтоб максимальный элемент стоял в верхнем левом углу.Язык С.

помогите решить, пожалуйста
ZhekaSLK вне форума Ответить с цитированием
Старый 21.12.2010, 18:29   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

>>Задача. Дана матрица размерностью M*N. Способом перестановки строк и столбцов добиться, чтоб максимальный элемент стоял в верхнем левом углу.Язык С.

Сделаю за деньги.
ICQ 482-373-277
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание лабы polkop Помощь студентам 2 16.06.2010 12:13
Лабы по С++ ПлоМбиРка Помощь студентам 2 31.05.2010 14:25