|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.03.2012, 21:14 | #1 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Ошибка при выводе строкового массива
Доброе время суток. Столкнулся с такой проблемой. Ввожу массив строк. Если в строке нет числа то записываю его во второй массив и вывожу. Выходной массив с какими-то каракулями. Где я ошибся или может переусердствовал.
Код:
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! Последний раз редактировалось ACE Valery; 30.03.2012 в 21:30. |
30.03.2012, 21:38 | #2 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
Мне обычно помогал
SetConsoleCP(1251); SetConsoleOutputCP(1251); Для того, чтоб они работали, нужно подключить <windows.h>. И в консоле не забудьте в свойствах поменять шрифт на Lucida Console. Хотя мне кажется, бага совсем не в этом, потому что вывод фраз у вас идет-то нормальным языком, а не кракозябрами (у меня, например, без этих команд, сразу абаркадабра на экран вылазит при запуске вашей проги) А вот прога ваша у меня не отработала. Во-первых, ругается на то, что переменная ch не инициализирована, а вы ей ++ делаете. Во-вторых, не понятно, почему j=15. В-третьих, точно не помню, но, кажется функция strcpy не добавляет терминирующий ноль('\0') в конец строки, поэтому тут может быть бага.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
Последний раз редактировалось ACE Valery; 30.03.2012 в 21:41. |
30.03.2012, 21:39 | #3 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Так нельзя:
Код:
Здесь Код:
В конце первой итерации ch становится равным n и все проверки прекращаются. Поэтому в массив результатов попадает только первое слово. А выводится мусор (из-за y<5). Нужно обнулять после каждого цикла.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
30.03.2012, 21:42 | #4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
ACE Valery, скорее всего ch по умолчанию проинициализировалась нулём, поэтому у автора и отработало.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
30.03.2012, 22:40 | #5 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
что-то не особо получается с выводом, буду дальше думать.... Спасибо за советы
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
30.03.2012, 22:44 | #6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Извиняюсь, не ch, а j.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
30.03.2012, 22:56 | #7 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Сейчас пытаюсь доработать вот этот код.
Код:
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! Последний раз редактировалось ACE Valery; 30.03.2012 в 23:11. |
30.03.2012, 23:46 | #8 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Код:
А все строки заносил потому, что break'ом прерывался только внутренний цикл while.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
Последний раз редактировалось sVasilich; 31.03.2012 в 00:37. |
31.03.2012, 17:57 | #9 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Так все правильно работает. Но вывод на экран происходит с ошибкой. CS подсчитывает количество строк. Но строка выводится с иероглифами. Почему это может происходить?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
01.04.2012, 06:29 | #10 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с деструктором при выводе массива | WebbMan | Общие вопросы C/C++ | 6 | 28.03.2011 22:23 |
Ошибка при выводе xml | DKENT | Работа с сетью в Delphi | 0 | 08.02.2011 21:49 |
Ошибка при выводе | trad | Общие вопросы C/C++ | 7 | 15.01.2011 11:32 |
Отступы при выводе массива | Kasper1 | Общие вопросы по Java, Java SE, Kotlin | 1 | 03.01.2011 23:20 |
Портится кодировка при выводе массива в файл | delias | Win Api | 3 | 20.04.2010 10:05 |