|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.06.2012, 21:12 | #1 |
Пользователь
Регистрация: 31.03.2012
Сообщений: 33
|
Проблема с написанием программы. Си.
Код:
Задача заключается в следующем: Нужно вывести позицию в строке s1, элемент которой впервые совпадает с любым элементом строки s2. Если такой позиции нет, то вывести -1. Например: abcdefgh bsufew Ответ: 2 Мой код впринципе компилируется нормально, но ничего не выводит. То есть, данные вводятся, а результата нет. Прошу помочь с избавлением от этой неприятности и если нужно переписать код на правильный лад. Заранее спасибо. |
09.06.2012, 21:37 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Упростим?:
Код:
I'm learning to live...
|
09.06.2012, 22:03 | #3 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
Цитата:
По-моему, вот так будет чуть яснее: Код:
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. Последний раз редактировалось MooNDeaR; 09.06.2012 в 22:07. |
|
09.06.2012, 22:33 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
09.06.2012, 23:00 | #5 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
Цитата:
Вообще ваша конструкция правильная и даже хорошо работающая. Только вот, по-моему, уж очень вульгарно двойной цикл одной строкой писать.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
|
09.06.2012, 23:03 | #6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
to Chelovekpredel
1) При создании проекта ставьте галочку "Пустой проект" 2) Реализация функции после main. Перед main прототип. 3) getchar() не нужен. При запуске нажимайте Ctrl+F5 (или тоже самое - "Отладка" -> "Запуск без отладки"). Либо ставьте точку останова. 4) В Меню: "Проект" -> "Свойства" -> слева "Общие" -> "Набор знаков" -> выбрать "Использовать многобайтовую кодировку" 5) Главный файл называем (для с программ) main.c (так будет запускаться сишный компилятор) 6) Константы через define (или const если компилятор поддерживает) 7) Ваш код ошибочный. Программа попадает в бесконечный цикл (вложенный while). Вы всего-то забыли инкрементировать j. Код:
Последний раз редактировалось 8Observer8; 09.06.2012 в 23:05. |
10.06.2012, 00:03 | #7 |
Пользователь
Регистрация: 31.03.2012
Сообщений: 33
|
Спасибо огромное. Всего-то забыл инкрементировать)
|
10.06.2012, 00:08 | #8 |
Пользователь
Регистрация: 31.03.2012
Сообщений: 33
|
Хотя нет. Теперь всегда -1 выводит.
Код:
|
10.06.2012, 09:10 | #9 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Я вчера торопился и не заметил. А вообще говоря и вам минус, так как вы не умеете пользоваться отладчиком (ставить точки останова и выполнять пошагам). Пока не научитесь им пользоваться - будете постоянно спотыкаться.
По вашему коду: видите, в внутреннем while предусмотрен только один проход по строке (j только увеличивается).Нужно j сбрасывать, когда мы прошли по второй строке: Код:
|
10.06.2012, 09:27 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Что поделать?
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с написанием программы.. | super3994 | Общие вопросы C/C++ | 1 | 16.11.2011 22:36 |
Проблема с написанием программы | PashkaRus | Помощь студентам | 3 | 07.06.2011 11:44 |
Проблема с написанием программы в Паскале | alexchromets | Помощь студентам | 0 | 27.02.2011 16:48 |
проблема с написанием многомодульной программы | серг | Общие вопросы C/C++ | 16 | 18.03.2010 22:11 |