|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Прошу помочь исправить программу |
|
C/C++ - Прошу помочь исправить программу
|
Новый участник Сообщения: 1 |
ПОМОГИТЕ ПОЖАЛУЙСТА, кто шарит в С++, иначе информатика меня *****......
Задание на фото!... Вот код, который у меня получился, но строка нужных чисел почему то появляется при нажатии заполнить массив и галочке - отображать эту строку, а нужно чтобы на галочке и вывести результат ( тоесть в кнопке, которая отвечает за расчет в какой ячейке число Б и сколько четных... 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 в сетке не встретелось";} Впринцепе прога написана, но строка нужные числа никак работать не хочет!!! |
|
Отправлено: 21:08, 11-01-2013 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать GaM1er, Объясни условие, я его просто не понимаю, меня интересует такой момент, а именно наперед, что это такое или как вообще?
Цитата:
Я так понял. Есть массив со значениями Мы вводим число b = 1 и производим проверку до первого встреченого элемента массива, который будет равен 1? Тоесть |
|
------- Отправлено: 03:42, 12-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Drongo, надо найти количество четных элементов до элемента, равного b. b считается заранее определенным.
Т.е. если b = 15 , то Цитата GaM1er:
void __fastcall TForm1::Button2Click(TObject Sender) { int K=0; int Val_B =StrToInt( Edit1->Text ); int SPIN_Val = cspin->Value; //нашли позицию b. Пусть криво, но нашли for(int i=1;i<SPIN_Val+1;i++) { if (GridMass[i-1]== Val_B) { Pos_B = i; i= SPIN_Val+1; }//if }//for // Если b нашлась, то 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)) //причем здесь остаток от деления ИНДЕКСА массива? Вот тут и есть вторая ошибка. // массив GridMass[_]. Вот его и дели. { K++; strg->Cells[i][2] = GridMass[i-1]; }//if }//for Label6->Caption=IntToStr(K); } else {Label6->Caption="Числа b в сетке не встретелось";} Цитата GaM1er:
|
||
------- Отправлено: 09:43, 12-01-2013 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - Прошу помочь с удалением IIS. | tovit | Программное обеспечение Windows | 5 | 02-06-2023 21:07 | |
Прошу помочь с VPN | Saidjan | ISA Server / Microsoft Forefront TMG | 4 | 29-12-2011 16:56 | |
[решено] Прошу помочь | evm180 | Лечение систем от вредоносных программ | 23 | 24-02-2009 08:35 | |
Очень прошу помочь... | aviss | Выбор отдельных компонентов компьютера и конфигурации в целом | 6 | 09-08-2008 23:26 |
|