|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
||||||
В строке удалить последующие вхождения первой буквы23.04.2014, 00:36. Показов 3098. Ответов 13
Метки нет (Все метки)
[Только начала изучение си. Нужно в строке удалить последующие вхождения первой буквы. Написала программу и не могу понять, почему не выводится результат на экран
0
|
||||||
| 23.04.2014, 00:36 | |
|
Ответы с готовыми решениями:
13
Удалить текст в файле, начиная с первой встретившейся буквы ‘М’ до третьей по счету буквы ‘М’ |
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 23.04.2014, 02:06 | |
|
Непонятно, зачем делать массив из одного элемента, хотя это корректно. Можно просто char en = source[0];
А вот i<=100 - это грубая ошибка. Должно быть i < 100, потому что нумерация с нуля, и последний элемент - 99. Кроме того, у тебя символы копируются в результирующую строку на те же позиции, на каких они были в исходной строке. То есть из строки "ababa" получается не "abb", а "ab*b*", где * - это непонятно что. Скорее всего, нули. А нуль в С считается концом строки. Кстати, строка может быть короче 100 символов, а у тебя это не учитывается. С оформлением беда. Скачай программу astyle и примени стиль 1tbs.
1
|
|
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
||||||
| 23.04.2014, 02:42 | ||||||
|
LizaPovalyaeva, постарался не слишком менять Ваш код.
1
|
||||||
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
||||||
| 23.04.2014, 03:18 [ТС] | ||||||
|
Благодарю за оперативный ответ.
Поясните пожалуйста fgets( source, len, stdin ). Что такое stdin? Добавлено через 6 минут Надо использовать ещё файлы. я правильно пишу?
и можно ещё глупый вопрос в чем лучше учиться программировать на си? в институте простят на turbo c, но ваша программа выдаёт 7 ошибок... посоветуйте что исползовать
0
|
||||||
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
||||||
| 23.04.2014, 03:38 | ||||||
Сообщение было отмечено LizaPovalyaeva как решение
Решение
LizaPovalyaeva, stdin - это стандартный поток ввода.
На основе Вашего кода с небольшими изменениями. С использованием файла.
Есть IDE Code::Blocks и на официальном сайте есть сборка в комплекте с компилятором MinGW. Вот ссылка на страницу загрузки. http://www.codeblocks.org/downloads/26 Выбрать для загрузки рекомендую файл codeblocks-13.12mingw-setup.exe
1
|
||||||
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|
| 23.04.2014, 04:04 [ТС] | |
|
Спасибо)
вопрос ещё глупее: выбираю создать проект,затем console application?
0
|
|
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
|
| 23.04.2014, 04:08 | |
|
Да, правильно.
1
|
|
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|
| 23.04.2014, 04:12 [ТС] | |
|
Спасибо огромное!!! теперь все намного понятнее стало. Очень тяжко с паскаля перейти на си, когда познания в си нулевые)))
0
|
|
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
|
| 23.04.2014, 04:18 | |
|
Не за что
![]() Если будете заниматься программированием на си всерьез, то порекомендую прочитать книгу Брайан Керниган, Деннис Ритчи Язык программирования C. 2-ое издание 2009 год. Также очень желательно научиться работать с компилятором из командной строки.
1
|
|
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|
| 23.04.2014, 04:28 [ТС] | |
|
Из командной строки вроде бы получается) получалось точнее.
Спасибо за совет: как раз искала хорошую литературу) Добавлено через 2 минуты а вообще у меня mac os и возможно ли программировать на си без использования виртуальной машины с windows?
0
|
|
| 23.04.2014, 04:46 | |
|
Не по теме: Mac OS почти не пользовался, у меня только Linux. Судя по тому, что я нашел в google - есть компиляторы C для Mac OS.
0
|
|
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
||||||
| 23.04.2014, 11:23 | ||||||
|
Советую сразу гуглить на тему, как программировать на Objective-C. Это такой язык, который является надмножеством С. То есть программа на С является одновременно программой на Objective-C (но не наоборот).
Что касается K&R (распространённое сокращение для авторов Керниган и Ритчи), то я полностью согласен, только уточню, что есть издание 2013 года. Если Вы собираетесь программировать только на C (не на Objective-C или C++) и он Вам нужен только для обучения, то советую пользоваться компилятором TCC. Его основное преимущество - он умеет работать в качестве интерпретатора. То есть пишете "tcc -run file.c" и он исполняет программу file.c. Не надо создавать исполнимый файл. К сожалению, пока что tcc работает под MacOS X только в таком режиме, т.е. для создания реальных программ неприменим. В программе BlackSpace есть недочёты. Например, она тоже не отслеживает конец строки и лопатит все 100 символов, независимо от того, надо это или нет. И вообще непонятно, зачем копировать в промежуточный буфер, а из промежуточного - в результирующий. Мартышкин труд. Можно же копировать сразу из файла в результат.
1
|
||||||
|
209 / 183 / 114
Регистрация: 15.03.2014
Сообщений: 398
|
|
| 23.04.2014, 12:06 | |
|
Vtulhu, мой код, конечно выполняет лишние операции и имеет другие недочеты, так как цель была изначально минимально менять код автора темы.
с fputs() немного напутали - аргументы местами поменять надо. fclose( fi ) Ну и Ваш вариант отходит от задания немного. Нужно удалить не все вхождения первой буквы, а последующие. Так указано в задании. Далее в задании идет речь именно о буквах, а не о любых символах, то есть надо искать именно первую букву в строке, а не первый символ.
0
|
|
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 23.04.2014, 13:12 | |
|
Согласен. Что-то я в последнее время ленюсь тестировать код. Удивительно, как легко допустить ошибку даже в самых тривиальных случаях. Моя проблема в том, что я никак не выберу фреймворк для юнит-тестирования.
0
|
|
| 23.04.2014, 13:12 | |
|
Помогаю со студенческими работами здесь
14
Удалить из слов последовательности все предыдущие вхождения последней буквы
Удалить все буквы, символы и оставить в строке только цифры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|