GaM1er
11-01-2013, 21:08
ПОМОГИТЕ ПОЖАЛУЙСТА, кто шарит в С++, иначе информатика меня *****......
Задание на фото!... Вот код, который у меня получился, но строка нужных чисел почему то появляется при нажатии заполнить массив и галочке - отображать эту строку, а нужно чтобы на галочке и вывести результат ( тоесть в кнопке, которая отвечает за расчет в какой ячейке число Б и сколько четных... 2) еще одна ошибка, - строка нужные числа отображжается неправильно, тоесть тупо в нужные записывается каждое второе число, а нужно чтобы она каждый элемент массива делила на , проверяла четность, и если оно четное, то записывала это число в строку нужные - под самим числом....
Помогите прошу вас, все облазил, никак не могу сделать, вот код который у меня: (ПС: Буду благодарен, если сразу примет, небольшим денежным вознаграждением)
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 test;
int Pos_B=0;// положение ячейки с значением b в сетке
float GridMass[50];//Массив с данными из StrGrid
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject Sender)
{
randomize();
strg->Cells[0][0] = "№";
strg->Cells[0][1] = "Значение:";
strg->Cells[0][2] = "Нужные числа:";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject Sender)
{
Button2->Enabled=true;
// Очистка при перегенирации сетки
Label6->Caption=" ";
Label7->Caption=" ";
//-----------------------------
if (CheckBox1->Checked)
{
strg->RowCount= 3;
}
int SPIN_Val = cspin->Value;
int Val_A = StrToInt(Edit2->Text);
strg->ColCount= SPIN_Val+1;
for(int i=1;i<=SPIN_Val+1;i++)//Заполняем Сетку
{
strg->Cells[i][0] = IntToStr(i);
GridMass[i-1]= rand()%(2*(Val_A)+1) -Val_A; // Генерируем случайное число тз промежутка от -а до а
strg->Cells[i][1] = GridMass[i-1];
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject Sender)
{
int K=0;
int Val_B =StrToInt( Edit1->Text );
int SPIN_Val = cspin->Value;
for(int i=1;i<SPIN_Val+1;i++)
{
if (GridMass[i-1]== Val_B)
{
Pos_B = i;
i= SPIN_Val+1;
}
}
if(!(Pos_B==0))
{
Label5->Visible=true;
Label7->Visible=true;
Label7->Caption=IntToStr(Pos_B);
for (int i=1;i< Pos_B;i++)
{
if ((fmod(i,2)== 0))
{
K++;
strg->Cells[i][2] = GridMass[i-1];
}
}
Label6->Caption=IntToStr(K);
}else {Label6->Caption="Числа b в сетке не встретелось";}
Впринцепе прога написана, но строка нужные числа никак работать не хочет!!!
Задание на фото!... Вот код, который у меня получился, но строка нужных чисел почему то появляется при нажатии заполнить массив и галочке - отображать эту строку, а нужно чтобы на галочке и вывести результат ( тоесть в кнопке, которая отвечает за расчет в какой ячейке число Б и сколько четных... 2) еще одна ошибка, - строка нужные числа отображжается неправильно, тоесть тупо в нужные записывается каждое второе число, а нужно чтобы она каждый элемент массива делила на , проверяла четность, и если оно четное, то записывала это число в строку нужные - под самим числом....
Помогите прошу вас, все облазил, никак не могу сделать, вот код который у меня: (ПС: Буду благодарен, если сразу примет, небольшим денежным вознаграждением)
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 test;
int Pos_B=0;// положение ячейки с значением b в сетке
float GridMass[50];//Массив с данными из StrGrid
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject Sender)
{
randomize();
strg->Cells[0][0] = "№";
strg->Cells[0][1] = "Значение:";
strg->Cells[0][2] = "Нужные числа:";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject Sender)
{
Button2->Enabled=true;
// Очистка при перегенирации сетки
Label6->Caption=" ";
Label7->Caption=" ";
//-----------------------------
if (CheckBox1->Checked)
{
strg->RowCount= 3;
}
int SPIN_Val = cspin->Value;
int Val_A = StrToInt(Edit2->Text);
strg->ColCount= SPIN_Val+1;
for(int i=1;i<=SPIN_Val+1;i++)//Заполняем Сетку
{
strg->Cells[i][0] = IntToStr(i);
GridMass[i-1]= rand()%(2*(Val_A)+1) -Val_A; // Генерируем случайное число тз промежутка от -а до а
strg->Cells[i][1] = GridMass[i-1];
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject Sender)
{
int K=0;
int Val_B =StrToInt( Edit1->Text );
int SPIN_Val = cspin->Value;
for(int i=1;i<SPIN_Val+1;i++)
{
if (GridMass[i-1]== Val_B)
{
Pos_B = i;
i= SPIN_Val+1;
}
}
if(!(Pos_B==0))
{
Label5->Visible=true;
Label7->Visible=true;
Label7->Caption=IntToStr(Pos_B);
for (int i=1;i< Pos_B;i++)
{
if ((fmod(i,2)== 0))
{
K++;
strg->Cells[i][2] = GridMass[i-1];
}
}
Label6->Caption=IntToStr(K);
}else {Label6->Caption="Числа b в сетке не встретелось";}
Впринцепе прога написана, но строка нужные числа никак работать не хочет!!!