Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 7

Ввод массива через Edit

18.04.2017, 08:16. Показов 4122. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите разобрать данный код(работал в консоли, на форме плохо пока ориентируюсь) (Вводится массив в Edit1 через пробел, находится наибольший элемент.)
Интересует именно ввод массива и от каких переменных/строчек можно избавиться, что бы остался чистый ввод.
так же подскажите пару других способов (возможно более рациональных и удобных) для ввода массива через элементы формы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString buf,s;
int i,k=0,mas[7],maxOtr;
s = Edit1->Text;
for(i=1,buf="";i<=s.Length()+1;i++)
 {
  if(i==s.Length()+1)
   {
    mas[k++] = StrToInt(buf);
    break;
   }
  if(s[i]==' ')
   {
    mas[k++] = StrToInt(buf);
    buf = "";
   }
  buf += s[i];
 }
for (i=0; i<=6; i++)
        maxOtr=mas[0];
for (i=1; i<=6; i++)
    if (mas[i]>maxOtr && mas[i]>0)
maxOtr=mas[i];
Edit2->Text=IntToStr(maxOtr);
}
p.s. в понимании кода вызывает затруднения первый цикл "for" с входящими "if" по работе с самим массивом и его элементам/индексам вопросов нет.
Заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2017, 08:16
Ответы с готовыми решениями:

Заполнение массива через Edit
void __fastcall TForm1::SaveClick(TObject *Sender) { int i=0; for( i;i&lt;100;i++) { PR.N=i; PR.Name=Name...

Ввод и вывод массива через RichEdit
Доброго времени суток. при составление простенькой программки возник такой вопрос. начну с её опсания нужно что бы RichEdit...

Ввод в Edit
Доброго времени суток. Я делаю ограничение ввода в Эдиты. Что бы вводить только цифры, а вместо точки запятую. Вот код:void __fastcall...

4
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2017, 09:12
Лучший ответ Сообщение было отмечено MaximAndreevi4 как решение

Решение

Здесь просто выделение подстрок между пробелами посимвольным накоплением в buf. Формы вообще не при чём.
TStringGrid используй для массива.
1
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 7
18.04.2017, 09:34  [ТС]
а можно пример ввода одномерного массива через TStringGrid?
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
18.04.2017, 11:07
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 AnsiString s;
  char *p;
  int i=0,mas[7],maxOtr;
 
  s = Edit1->Text;
  p = strtok(s.c_str(), " ");
  mas[i]=atoi(p);
 
  do {
      p = strtok('\0', " ");
      if(p)
       {
         i++;
         mas[i]=atoi(p);
       }
  } while(p);
 
  for (i=0; i<=6; i++)
        maxOtr=mas[0];
  for (i=1; i<=6; i++)
    if (mas[i]>maxOtr && mas[i]>0)
  maxOtr=mas[i];
  Edit2->Text=IntToStr(maxOtr);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
18.04.2017, 12:25
MaximAndreevi4, версия Билдера какая?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2017, 12:25
Помогаю со студенческими работами здесь

Ввод литер в Edit
Необходимо, чтобы в Edit можно было ввести минус в начале только один раз. А то сейчас программа выдает ошибку при вводе минуса, но все...

Проверка на ввод в edit
метод прямоугольников для интегралов, не суть. После того, как ввожу проверку на ввод данных в edit, не правильные ответы выводиться...

Ограничение на ввод в Edit
Здравствуйте,задача такая, в элитная вводятся только числа,&quot;backspace&quot; и &quot;-&quot;(для отрицательных чисел), ну и запятая, но стоит ограничение...

Поочередный ввод из edit в label
Не могу понять как сделать так чтобы:Я ввожу тест в Edit1 нажимаю кнопку ,у которой одно событие,и она передает текст из Edit1 в label1, но...

Ввод только чисел в Edit
Делаю курсовую(пытаюсь сам). Нужно чтобы в Editы вводились только данные в числовом формате! И еще не выводилось не больше 5 знаков после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru