|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.10.2013, 23:14 | #1 |
Регистрация: 16.10.2013
Сообщений: 4
|
Массив строк
Создать массив из 10 строк, Упорядочит строки по длине .Вывести на экран. Определить , в каких строках содержаться десятичные дроби. Выделить их и перевести в число (процедурой Val).
Написать программу корректности ввода десятичных чисел. При ошибочном вводе недопустимых символов менять цвeт ошибочного символа и возвращать курсор назад. |
22.10.2013, 08:46 | #2 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
И что? Наработки где?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
22.10.2013, 08:57 | #3 |
Регистрация: 16.10.2013
Сообщений: 4
|
Код:
Последний раз редактировалось Stilet; 22.10.2013 в 09:52. |
22.10.2013, 09:53 | #4 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Ага, хорошо. По сортировке вроде зачет. А вот по определению чисел с десятичной дробью в строке - неуд.
Алгоритм будет следующий: 1) Для всех строк делай 1.1) Сбросить флаги "идет число", "найден разделитель", "ошибка" 1.2) Для всех символов начиная с конца делай 1.2.2) Если символ не пробел и флаг "идет число" не установлен - установить флаг "идет число" 1.2.3) Если символ пробел и установлен флаг "идет число" - установить флаг "ошибка", прервать процедуру, это строка 1.2.4) Если символ не число и не разделитель - установить флаг "ошибка", прервать процедуру, это строка 1.2.5) Если символ разделитель и не установлен флаг "найден разделитель" - установить флаг "найден разделитель" 1.2.6) Если символ - разделитель и установлен флаг "найден разделитель" - установить флаг "ошибка", прервать процедуру, это строка 1.2.7) Если это символ с номером 1, и установлен флаг "найден разделитель" - преобразовать строку в число, вывести другим цветом 1.3) Если установлен флаг "ошибка" - вывести строку стандартным цветом
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
31.10.2013, 20:23 | #5 |
Регистрация: 16.10.2013
Сообщений: 4
|
вот что получлось только ничего не работает
Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 31.10.2013 в 20:36. |
01.11.2013, 06:54 | #6 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Работает? Не работает? Работает не правильно?
Алгоритм вроде прописан верно.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
01.11.2013, 11:57 | #7 |
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
Код:
пришел разделитель проверили. поставили флаг. далее проверяем если это разделитель и установлен флаг "найден разделитель" - установить флаг "ошибка" и прервать процедуру. а как быть тогда? мне кажется это лишнее... и разделитель это же , между целой и десятичной частью?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! Последний раз редактировалось SaLoKiN; 01.11.2013 в 12:06. |
01.11.2013, 12:05 | #8 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Ммммда, об этом я не подумал.
Костыльным решением данной ситуации будет поменять местами проверки. По идее после установки любого флага нужно переходить на следующий символ, не выполняя остальных проверок. Через goto - кривое решение. Через continue разве что? Предлагаю вывод строки перенести из цикла перебора символов в цикл перебора строк. Таким образом, если в строке есть ошибка - цикл будет brake`нут, по флагу будет выведена строка. Если цикл выполнился с нужными флагами - выводится число. И еще такой момент пришел на ум. А как обрабатываются строки вида " 0.123 "? Т.е. когда перед числом есть пробелы?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) Последний раз редактировалось Vanta11a; 01.11.2013 в 12:09. |
01.11.2013, 12:12 | #9 | ||
Форумчанин
Регистрация: 19.09.2013
Сообщений: 597
|
давайте определимся что будет являться дробью?
число цифр не ограничено Код:
2 - разделитель не 1ый и не n-ый символ 3- разделитель n-ый символ. вот тут стоит ли? плюс проверка если разделитель=1 и нашли разделитель это ошибка Цитата:
и получается что строки типа пробел123,12пробел мы тоже отбрасываем? и нам интересны только те которые начинаются с цифры/разделителя содержат только цифры(разделитель,если не первый) и заканчиваются только цифрой? тогда зачем все так усложнять? проверка на десятичное число: Код:
Цитата:
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!! Последний раз редактировалось SaLoKiN; 01.11.2013 в 12:51. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как преобразовать массив строк в массив чисел на C#? | orfos | Помощь студентам | 4 | 03.10.2014 15:56 |
Написать алгоритм, который реализует jagged массив (рваный массив с различной длиной строк), используя список списков (Pascal ABC) | бабуся | Помощь студентам | 0 | 29.04.2013 00:07 |
Массив строк. | Смородинка | Общие вопросы C/C++ | 11 | 21.11.2010 17:21 |
Массив строк | L_Killer | Помощь студентам | 2 | 30.05.2010 01:58 |