вывод таблицы

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем werywery, 5 ноя 2009.

  1. werywery

    werywery Гость

    Здравствуйте!!!

    Есть небольшой вопросик к знающим людям, если не трудно помогите.....
    Короче,

    Код


    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<time.h>
    void randomize(void);



    int const m=47; //количество элементов
    int n=1000;
    int const g=2;
    int const t=m*g; //размер таблицы
    int tab[t]; //таблица
    int a[m]; //элементы
    int a0=0; //позиция в таблице
    int k; //сгенерированный элемент
    int i,j;
    int p=0,l=0; //p-счетчик позиций(сколько ячеек в таблице заполнилось)
    int a1=0;
    float kzt=0;
    float scs=0;
    struct node
    {
    int data;
    node *next;
    };
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    /* генератор чисел */
    void randommize();
    for(i=0;i<m;i++){
    x: k=(rand()%8+1)*n+rand()%999;
    for(j=0;j<i;j++){
    if(a==k)
    goto x;

    }
    a=k;
    printf("%d ",a); //выводим элементы
    l++;
    if(l==7){
    printf("\n");
    l=0;
    }
    }


    Form1->StringGrid1->RowCount=m;
    Form1->StringGrid2->RowCount=(m/2)+1;
    for (int i=0; i<m; i++)
    {
    Form1->StringGrid1->Cells[0][i+1]=IntToStr(i);
    Form1->StringGrid1->Cells[1][i+1]=IntToStr(a);
    };
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    for(i=0;i<m;i++){ //for1 находим позицию
    a0=a%t;
    a1=a0;
    scs++;
    //printf("\n%d",a0);
    if(tab[a0]==-1){ //если свободно
    tab[a0]=a;
    p++;
    }
    else { //else1 //если занято(устранение коллизии)
    j=1;
    while(tab[a0]!=-1){ //while1
    a0=(a1+j*j)%t;
    scs++;
    if(tab[a0]!=-1)
    j++;
    else{
    tab[a0]=a;
    //printf("\n%d",a0);
    p++;
    break;
    }
    }//while1
    }//else1
    }//for1


    //p - счетчик позиций


    /* вывод таблицы*/



    представляю вам код программы которая строит хэш таблицу, это так то я сделал, и вывод сгенерированного массива в StringGrid1 додумался, а вот саму таблицу чет не допираю как выводить.....
    Сам я недавно начал программировать, так что ссильно не ругайте. И еще просьба, можно подробнее объяснить...
    Зарание спасибо!!
     
Загрузка...

Поделиться этой страницей