12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
||||||
1 | ||||||
Ошибка в коде.Удаление пробелов07.06.2013, 19:34. Показов 888. Ответов 12
Метки нет (Все метки)
Вот пытаюсь сделать так,чтобы между словами был только 1 пробел.
Что не так с выводом и в чём моя ошибка?
0
|
07.06.2013, 19:34 | |
Ответы с готовыми решениями:
12
Удаление повторяющихся чисел. Ошибка в коде Удаление из одномерного массива. ошибка в коде! Удаление и добавление элементов массива - ошибка в коде Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один)) |
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||||||
07.06.2013, 19:42 | 2 | ||||||||||
и моя:
0
|
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
|
07.06.2013, 19:44 [ТС] | 3 |
А у меня какая ошибка?
0
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
07.06.2013, 19:49 | 4 |
как минимум тут выход за пределы массива.
Элементы массива индексируются с 0 до n-1, где n - размер массива. Т.е. например мы создаем A[5]; Он содержит элементы A[0], A[1], A[2], A[3], A[4], но A[5] это уже не элемент данного массива, а обычный выход за границу Добавлено через 53 секунды а у вас еще при обращении увеличивается индекс i, т.о. вы ссылались бы даже на A[6] элемент
0
|
1 / 1 / 0
Регистрация: 25.02.2013
Сообщений: 36
|
|
07.06.2013, 19:50 | 5 |
дело в том, что где-то у тебя пустое место будет там, где повторялся пробел. Там ты в str[i] ничего не сохранял, так что там у тебя значение не определено. И еще char - строки в с++ нуль-терминированные, т.е. самый последний символ строки должен дыть равен символу с кодом NULL
0
|
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
|
07.06.2013, 20:02 [ТС] | 6 |
0
|
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
|
07.06.2013, 20:05 [ТС] | 8 |
то есть после редактирования массива в цикле надо написать ,допустим, str[i+1]="/0"?
Добавлено через 27 секунд Почему -1,если я захожу аж на 2 элемента вперёд?
0
|
Неэпический
|
||||||
07.06.2013, 20:09 | 9 | |||||
ну как бы там еще '\0', который имеет индекс равный strlen(str) и согласно условия будет запихнут в массив str2
Другое дело, что если условие выполнится, то i увеличится сразу на 2
0
|
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
|
07.06.2013, 20:09 [ТС] | 10 |
warning C4996: 'gets' was declared deprecated
1>.\Lab6.cpp(12) : error C3861: 'ascii_cod': identifier not found 1>.\Lab6.cpp(12) : error C3861: 'ascii_cod': identifier not found 1>.\Lab6.cpp(17) : error C2440: '=' : cannot convert from 'const char [2]' to 'char' Какую библиотеку нужно подключить для считывания аски-кода?
0
|
Неэпический
|
||||||
07.06.2013, 20:16 | 11 | |||||
Вам всего лишь нужна вторая переменная-счетчик, чтобы запоминать позицию в массиве str2
Добавлено через 5 минут Найдите отличия
0
|
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
|
|||||||||||
07.06.2013, 21:20 [ТС] | 12 | ||||||||||
Вот новый код
Добавлено через 3 минуты Что это?Никогда не видел. Добавлено через 8 минут Вот конечный код,но что-то он не правильно работает:
0
|
Неэпический
|
|
08.06.2013, 05:07 | 13 |
перейти к следующей итерации цикла
Добавлено через 1 минуту Я же написал, что нужна вторая переменная для хранения позиции во втором массиве Пост #11 разберите
0
|
08.06.2013, 05:07 | |
08.06.2013, 05:07 | |
Помогаю со студенческими работами здесь
13
Удаление пробелов Удаление пробелов удаление пробелов Удаление пробелов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |