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

Массив: выбрать из массива цифры

06.05.2012, 21:42. Показов 1033. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В чем ошибка ?
задание выбрать из массива цифры
Пишет что не конвертирует Char to int
в строке s.ctr())!=0
а когда пишу s.c_str()[a]!=0 работает но не правельно, а без [a] не пашет (

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int a,b,c;
String s;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
for(a=0;a<=9;a++)
{
s=StringGrid1->Cells[a][0];
if(isdigit(s.c_str())!=0)ShowMessage("Текст");//StringGrid2->Cells[a][0]=s[a];
}
}
Если не сложно, подскажите пожалуйста где и тут проблема(
Задание: Являеться ли данных текст палиндроном ( читаеться на оборот так само как и пишеться).
Я даже писал s1[1]=s2[1] та же история ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String s1,s2;
int a,b;
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
s1=Edit1->Text; прысваюю s1 текст
b=s1.Length(); b= кол-во смволов
for(a=1;a<=s1.Length();a++) цикл
s2[a]='1'; заполняю пустую память ( думал мб поможет - не помогло)
for(a=1;a<=s1.Length();a++) цикл
{
s2[b]=s1[a]; s2  -задаем последний символ s2 из первого s1
b--; уменшаем s2
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2012, 21:42
Ответы с готовыми решениями:

Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в массив S
подскажите как делать Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в...

из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все остальные символы записать в массив S
Привет всем.Помогиет пожалуйста решить задачку из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все...

Выбрать из массива те числа где цифры разные
задача- взять числа из массива и выбрать из них те в которых все цифры разные. Учили пока только простейшие операции циклы и условия....

7
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
06.05.2012, 21:46
RealBoy, а не проще ли использовать конструкцию try catch + StrToInt или вообще TryStrToInt?

даже в крайнем случае просто самому проверить строку AnsiString на вхождение символов от 0 до 9?
0
0 / 0 / 0
Регистрация: 18.03.2012
Сообщений: 20
06.05.2012, 21:58  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
RealBoy, а не проще ли использовать конструкцию try catch + StrToInt или вообще TryStrToInt?

даже в крайнем случае просто самому проверить строку AnsiString на вхождение символов от 0 до 9?
проверить от 0 до 9 ? а если там символ, то конвертировка обернется крахом
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
06.05.2012, 22:04
RealBoy, уважаемый, как вы думаете, почему я выбрал именно такие варианты решения? почему вы еще не прочитали в справке, что это за функции?

try catch + StrToInt: при некорректной конвертации функция StrToInt генерит исключение, которое приведет к крашу программы, если не перехватить его конструкцией try catch

TryStrToInt: аналогичен функции StrToInt, но без генерации исключения а с возвратом результата конвертации...

Цитата Сообщение от RealBoy Посмотреть сообщение
проверить от 0 до 9 ? а если там символ, то конвертировка обернется крахом
а разве вы не знаете, что символ имеет двойственную природу - как самого символа и как кода этого символа в конкретной таблице кодировки
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.05.2012, 22:11
Еще проще ограничить ввод символов в Edit, тогда пользователь сразу увидет что вводит не то что надо
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.05.2012, 22:15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
  int a,b,c;
  AnsiString s;
  s = Edit1->Text; // присваиваю s текст
  b = s.Length(); // b= кол-во смволов
  for(a=1;a<=b;a++) {
    if(isdigit(s[a].c_str()) {
      ShowMessage("Цифра");
      // или заносите в массив инт, или еще что
    }
  }
}
Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Еще проще ограничить ввод символов в Edit
обратите внимание, ТС просил
выбрать из массива цифры
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.05.2012, 22:31
обратите внимание, ТС просил
Если быть дотошным, то и String не массив...

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String S1,S2;
S1= Edit1->Text;
int size = S1.Length();
for(int i=1;i<=size;i++) if(S1[i]>='0' && S1[i]<='9') S2+=S1[i];
Edit2->Text= S2;
}
//---------------------------------------------------------------------------
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.05.2012, 22:32
Цитата Сообщение от Avazart Посмотреть сообщение
Если быть дотошным, то String не массив...
это на скорость пули не влияет, а ваше замечание могло увести обсуждение в сторону. Хотя, вполне возможно, что, говоря,
выбрать из массива цифры
ТС имел в виду именно:
ограничить ввод символов в Edit
- чужая душа - потёмки .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2012, 22:32
Помогаю со студенческими работами здесь

В заданной строке текста необходимо выбрать все цифры и записать их в массив
1. В заданной строке текста необходимо выбрать все цифры и записать их в массив. Подсчитайте количество цифр.

Дан одномерный массив, выбрать из него все нечётные цифры и выстроить по возростанию
Помогите решить задачи. 2)Дан одномерный массив, выбрать из него все нечётные цифры и выстроить по возростанию. Помогите, готов после...

Массив: Создать два новых массива состоящих из чисел заданного массива: В первом - числа равны степеням цифры 2, а во втором - нет.
Пользователь задает размер массива, массив заполняется случайными целыми числами в диапазоне от 1 до 10000 и выводится на экран в строку....

Выбрать с массива массивов рандомный массив
У меня такой вопрос: есть массив массивов, как с него рандомно выбрать массив, присвоить этот массив какой-то переменной, чтобы потом по...

Из массива символов скопировать цифры в другой массив
Подскажите. Допустим дан массив символов, например &quot;sd2f5g23g&quot;, нужно скопировать все цифры в другой массив, то есть другой массиве...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru