Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2014, 02:48   #1
spectrum988
Форумчанин
 
Аватар для spectrum988
 
Регистрация: 24.10.2013
Сообщений: 241
По умолчанию Ошибка в коде,помогите исправить.

Код:
{
float m;
int l,i,min;
AnsiString N = Edit1->Text;
l=N.Length();
for(i=2;i<l;i++)
{
min=N[1];
if (N[i]<min)
 {
  N[i]=min;
 }
}
N[l]=min;
min=N[l];
Edit2->Text=StrToInt(N);
}
При запуске программы почему-то заменяет каждый элемент минимальный элемент строки,а мне нужно только последний,что у меня не так?
spectrum988 вне форума Ответить с цитированием
Старый 25.02.2014, 02:58   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
При запуске программы почему-то заменяет каждый элемент минимальный элемент строки
Потому, что в используется алгоритм поиска минимального элемента. Ошибки здесь никакой нет.
Простите, я искренне не желаю Вас обидеть, но судя по всему код не Ваш, если Вы не замечаете столь очевидных вещей.
Теперь по сабжу. Строка - массив символов. Возьмите последний элемент.

Последний раз редактировалось Streletz; 25.02.2014 в 03:02.
Streletz вне форума Ответить с цитированием
Старый 25.02.2014, 18:20   #3
spectrum988
Форумчанин
 
Аватар для spectrum988
 
Регистрация: 24.10.2013
Сообщений: 241
По умолчанию

Я даже не подумаю обижаться,ведь я то знаю что код написан мной последний элемент я и брал как n(l), но вот только что мне пришла мысль,я как сделаю поправку отпишу,получилось или нет.
spectrum988 вне форума Ответить с цитированием
Старый 25.02.2014, 19:25   #4
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

если правильно понял задание, то тебе нужно добавить две временные переменные: одна для хранения минимального на данной итерации цикла элемента и вторая - для хранения позиции этого минимального элемента. И тогда не нужно будет изменять исходную строку.

И по мелочи:
а) i, l, 1, t - это для тебя в самом деле разные символы?
б) min=N[1] ставить внутрь цикла совершенно ни к чему, эта строка, как я вижу, всегда делает одно и то же. Внутрь цикла ставить только то, что меняется, а то, что всегда одинаково - выносить наружу.
Smogg вне форума Ответить с цитированием
Старый 25.02.2014, 22:56   #5
spectrum988
Форумчанин
 
Аватар для spectrum988
 
Регистрация: 24.10.2013
Сообщений: 241
По умолчанию

Я с формами начал работать не давно,до этого я работал только с консолью.На счет вопроса а)да для меня это разные переменные.Мне нужно просто найти минимальный элемент строки и присвоить его последнему символу строки.
spectrum988 вне форума Ответить с цитированием
Старый 26.02.2014, 01:10   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Сперва Вы говорите одно
Цитата:
При запуске программы почему-то заменяет каждый элемент минимальный элемент строки,а мне нужно только последний
Потом Вы говорите другое
Цитата:
Мне нужно просто найти минимальный элемент строки и присвоить его последнему символу строки.
Простите, но Вас сложно понять.
Формулируйте Ваши мысли яснее.
Если нужно значение минимального элемента присвоить последнему элементу строки, то с кодом у Вас полностью всё нормально. Проверял сам в C++ Builder.
Цитата:
заменяет каждый элемент
Простите, меня ещё раз, но Вы, видимо либо не до конца протестировали код , либо просто что-то не договариваете. Какой компилятор и какая версия? Какие данные используете при тестировании: срока из букв, цифр, не буквенных символов или "смесь" из всего этого?
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде шифрующей программы. как исправить Dima_Sat Помощь студентам 0 18.12.2009 13:35
Помогите исправить ошибку в коде на делфи True_girl Помощь студентам 2 02.07.2009 00:57
Ошибка в коде Сортировщика! Ргается! помогите исправить! sting Помощь студентам 2 24.11.2008 23:21
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19