3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
||||||
1 | ||||||
Преобразовать текст, удалив все ‘*’ и повторив дважды каждый символ, отличный от ‘*’30.12.2010, 21:45. Показов 4087. Ответов 29
Метки нет (Все метки)
всем привет
народ помогите разобраться в чем ошибка, программа почему то печатает левое при наборе 3 и более строк вот задание данное мне Ввести массив строк символов (текст), которые могут содержать символы ‘*’. Преобразовать текст, удалив все ‘*’ и повторив дважды каждый символ, отличный от ‘*’.
Добавлено через 3 часа 24 минуты разве никто не знает в чем причина? что не так в моем коде то??
0
|
30.12.2010, 21:45 | |
Ответы с готовыми решениями:
29
Преобразовать текст, удалив все ‘*’ и повторив дважды каждый символ, отличный от ‘*’ Дана строка. Преобразовать ее, удалив каждый символ (*) и повторив каждый символ, отличный от (*) Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от * Преобразовать файл, удалив каждый символ ‘*’ и повторив каждый символ, отличный от ‘*’ |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
||||||
30.12.2010, 21:54 | 2 | |||||
Напиши данные, на которых эта прога спотыкается. Например:
Эти строки нужны мне чтобы я время не тратил на их поиск тем более, что ты их уже нашёл, просто выложи сюда и всё. Чем меньше по объёму будут даные тем легче будет работать мне.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
30.12.2010, 22:35 [ТС] | 3 |
как понять какие данные?? она иногда норм работает есл иввожу две строки а если ввжу три строки то туипить и пишит какие то кааркули проблема как я понимаю возникает в функции ввода т.е. char **vvod и скорее вс его либо при вывводе коечного резултата т.е. там где цикл либо при функции кописим
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
|
30.12.2010, 22:56 | 4 |
Мне всё равно где там какая у тебя проблема. Ты сам не смог разобраться, теперь позволь уж мне.
Ты буквы можешь написать из которых состоят эти строки, ё?
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
30.12.2010, 22:59 | 5 | |||||
Сообщение было отмечено Памирыч как решение
Решение
eddilou, держи, вроде все работает:
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 07:25 [ТС] | 6 |
я же говворю любые символы введите допустим
adssad saff*asffsaf safasffasf далье он либо каракукли напишет там какие то иероглифы либо как выражается типа выйдет за пределы своей памяяти а в чем ошибка моего кода??? я хочу разобраться чтоб в будущем ошибок не делать
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.12.2010, 07:25 | 7 |
eddilou, если ты хочешь довести до ума именно свой вариант, то я бы посоветовал пройтись по программе с отладчиком. Обычно это дает поразительные результаты
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 07:47 [ТС] | 8 |
проверил написанный вами код и там 7 синтаксических ошибок при компиляции
Добавлено через 2 минуты каким отладчиком?? я проверялд ппо строчно и следиил в оке свич за изменением так он тупить в функции ввода все правильно написано а почему так выходит что пи созании более 2 строк начинает делать фиг знает что поэтому и прошу помощи у вас чтоб понять
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
31.12.2010, 08:10 | 9 | |||||
Сообщение было отмечено Памирыч как решение
Решение
eddilou, а переполнения буфера не происходит при выполнении ввода функцией gets?
Попробуй заменить ее на fgets(size, 128, stdin) А чем компилировал? Код должен нормально собираться любым относительно современным компилятором языка С Добавлено через 15 минут Прошу прощения, я забыл, что getline - это не стандартная функция языка. Попробуй так:
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 08:13 [ТС] | 10 |
компилировал Borland C еще досовский комплятор на нем проще учиться т.к. меньше навороток и тд
а больше подобных орм компиляторов где соотв старому станадарту не знаю на визуал с++ пробовал не удобно старье не оч он понимает на дев тоже
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
31.12.2010, 08:15 | 11 |
eddilou, попробуй откомпилировать последний вариант программы
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 08:44 [ТС] | 12 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
31.12.2010, 12:21 | 13 | |||||
Тогда сделаем явное приведение типа для указателей:
0
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
|||||||||||
31.12.2010, 13:42 | 14 | ||||||||||
Похвальное желание, грех не помочь.
Если бы ты догадался для начала сделать в main() простейшую отладочную печать
Вот исправленный вариант цикла в vvod(...):
Преобразование пока не смотрел.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
||||||
31.12.2010, 15:36 | 15 | |||||
eddilou, слушай. Крайне НЕХОРОШАЯ ошибка обнаружена в твоём коде в строке
"for",но не ниже. Тем не менее за пределами этого цикла она не должна быть видна. Это ты прочтёшь в любом учебнике.И если твой компилятор такой ошибки не замечает, подумай о его замене. Серьёзно говорю тебе.
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 15:47 [ТС] | 16 |
и какой компилятор предлогаете уважаемый??? у меня самый простой досовский комплятор Борланд си
мне нужен тот который хорошо работает в СИ а не в СИ++ и который поддерживает старые стандарты а то в некоторых ваще даже не знают библиотеку стдио ибо она устаревшая
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
|
31.12.2010, 16:05 | 17 |
Ты не ёрничай тут а делай что тебе говорят.
Надо работать не простым, а хорошим компилятором. Для нашего разговора в понятие "хороший" я включаю: "тот, который на корню зарубит твой код из-за того, что переменная j исползуется ВНЕ ЗОНЫ ВИДИМОСТИ" gcc, язык С. IDE DEV C++ в частности. А вот поддержку старых стандартов не гарантирую
0
|
3 / 3 / 0
Регистрация: 21.11.2010
Сообщений: 194
|
|
31.12.2010, 16:27 [ТС] | 18 |
грубить не надо и указывать тоже
конечно спасибо за советы и помощь но грубить не красиво и яя не ернчиаю а с уважение отношусь к тем кто знает больше чем я вот и все
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
||||||||||||||||
31.12.2010, 17:54 | 19 | |||||||||||||||
НАчнём с теории.
Допустим, ты объявляешь в функции указатель на область памяти, потом выделяешь область памяти под этот указатель. Вот так, например:
Указатели-то будут доступны в функции main, но вот БУДЕТ ЛИ ДОСТУПНА ОБЛАСТЬ памяти? Мы ведь помним, что лоакальые переменные доступны только в области видимости. Это вопрос. По-моему нет, у разных авторов я не встречал этого. ДО выяснения этого вопроса я бы делал так: Вообще не объявлял переменные out и txt локальными, а только глобальными. Это раз. Второе. Сперва выделяешь место под память, потом её инициализируешь, но не наоборот! ТО есть сперва должна идти функция realloc, потом malloc, а у тебя по-другому, это ошибка. Сама функция realloc абсолютно правильна, eddilou, ! И да, оброати внимание на объявление переменной j
0
|
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
|
|
31.12.2010, 20:29 | 20 |
Динамическая память выделяется в куче, которая не имеет области видимости, доступ осуществляется по известному значению указателя откуда угодно, так что тут все в порядке, не надо нести ахинею.
Другое дело, что ТС потом выделенную динамическую память не освобождает - это, вообще-то, косяк. Занесено в цитатник идиотизмов. Советую таки почитать, что делает функция realloc. Функция realloc всегда правильная, неправильным может быть ее использование. Дык вот, в проге из исходного сообщения обращение к realloc неправильное, как правильно, я показал. Добавлено через 13 минут Да, точно, это известный косяк Борманов, причем не только 3.1-, но и более поздних билдеров. Причем из-за того, что объявленная в локальном блоке переменная живет за его пределами, ее нельзя определить другой раз в другом локальном(не вложенном) блоке - только использовать. Т.е. по человечески в Бормане писать нельзя. Если надо, чтобы код компилировался везде, проще в локальных блоках переменных вообще не определять, а писать как в Си. Добавлено через 3 минуты Ну так и компилируй им Си программы (расширение файлу программы .C поставь), тем более что задание твое Сишное, а C++ в Бормане 3.1 спецефический.
0
|
31.12.2010, 20:29 | |
31.12.2010, 20:29 | |
Помогаю со студенческими работами здесь
20
Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от * Дана строка преобразовать ее удалив каждый символ * и повторив каждый символ отличный от символа *. Дана строка преобразовать ее удалив каждый символ * и повторив каждый символ отличный от символа * Дана строка. Преобразовать ее, удалив каждый символ (*) и повторив каждый символ, отличный от (*) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Блоги программистов | |||||
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|