Показать сообщение отдельно

  #1122  
Старый 22.02.2009, 23:11
sid-asb
Новичок
Регистрация: 22.02.2009
Сообщений: 1
С нами: 9060374

Репутация: 0
По умолчанию

Помогите кто можэт , задание написать программу в С++builder 6 обробатывающую вектор, добавление нового элемента, удаление элемента, изменение, поиск максимального и минимального значения , в принцепи все ужэ зделал но препод спалил что удаление элемента работает каряво а в принцепи не работает, когда удаляется элемент то поиск минимального значения всегда показывает 0, то есть элемент получается не удаляется а заменяется на ноль , ПОМОГИТЕ кто можэт что нужно дописать чтоб нормально удалялся элемент!!! .

Код:
//---------------------------------------------------------------------------
#include <iostream>
# include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

int i, j, k, n, is_null;
 float tmp;
 char c;
 FILE *fp;
 float **mas;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormShow(TObject *Sender)
{
        is_null=1;

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

void __fastcall TForm1::RazmerClick(TObject *Sender)
{
      for (i=0;i<SG1->ColCount;i++)
        for (j=0;j<SG1->RowCount;j++)
          {SG1->Cells[i][j]="";
           SG1->Cells[i][j].Delete(i,1);
          }
       SG1->ColCount = StrToInt(Edit1->Text);
     }
//---------------------------------------------------------------------------
void __fastcall TForm1::MaxClick(TObject *Sender)
{
    if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
    {
     for(i=0; i<n; i++)  delete[] mas[i];
     delete[] mas;
    }

    //íîâîå êîëè÷åñòâî ýë-òîâ
   n = StrToInt(Edit1->Text);
   mas = new float *[n];
   for (i = 0; i < n; i++)
     mas[i] = new float [n];

   //ñ÷èòûâàíèå èç String Grid 1 â ìàññèâ
   for (i=0; i<n; i++)
   for (j=0; j<n; j++)
     { if (SG1->Cells[i][j]!="")
         mas[j][i]=StrToFloat(SG1->Cells[i][j]);
       else mas[j][i]=0;
     }

     //ïîèñê ìàêñèìàëüíîãî çíà÷åíèÿ

   i=0;
    for (j=0; j<n; j++)
     {
      if (mas[i][j]>tmp)
        tmp = mas[i][j];
     }
    //âûâîä â String Grid 2

   Edit2->Text = FloatToStr(tmp);

   //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
   fp = fopen("max.txt", "w");
     {
      fprintf(fp," %.2f  ",tmp);
      fprintf(fp,"\n");
     }
   fclose(fp);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if (is_null!=1)   //åñëè ïàìÿòü ïîä ìàññèâ âûäåëåíà, îñâîáîäèòü
  {
    for(i=0; i<StrToInt(Edit1->Text); i++)  delete[] mas[i];
    delete[] mas;
  }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::MinClick(TObject *Sender)
{
    if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
    {
     for(i=0; i<n; i++)  delete[] mas[i];
     delete[] mas;
    }

    //íîâîå êîëè÷åñòâî ýë-òîâ
   n = StrToInt(Edit1->Text);
   mas = new float *[n];
   for (i = 0; i < n; i++)
     mas[i] = new float [n];

   //ñ÷èòûâàíèå èç String Grid 1
   for (i=0; i<n; i++)
   for (j=0; j<n; j++)
     { if (SG1->Cells[i][j]!="")
         mas[j][i]=StrToFloat(SG1->Cells[i][j]);
       else mas[j][i]=0;
     }

     //ïîèñê ìèíèìàëüíîãî çíà÷åíèÿ

   i=0;
     for (j=0; j<n; j++)
     {
      if (mas[i][j]<tmp)
       tmp = mas[i][j];
     }

    //âûâîä â Edit3
    Edit3->Text = FloatToStr(tmp);

   //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
   fp = fopen("min.txt", "w");
     {
      fprintf(fp," %.2f  ",tmp);
      fprintf(fp,"\n");
     }
   fclose(fp);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::N2Click(TObject *Sender)
{
 Close();        
}
//---------------------------------------------------------------------------
 
Ответить с цитированием