Важная информация
Показано с 1 по 2 из 2

Тема: позиции вхождения второй строки в первую

  1. #1 позиции вхождения второй строки в первую 
    Новичок
    Регистрация
    05.11.2013
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Необходимо чтобы программа распечатывала позиции вхождения второй строки в первую и их общее количество.

    Код :
    int main(int argc, char* argv[]) {
      char str[100], substr[50];
      printf("Vvedi stroku:"); gets(str);
      printf("Vvedi podstroku:"); gets(substr);   
      char* p;
      // c - счетчик вхождений.
      // i - индекс символа, начиная с которого ищем подстроку.
      for (int c = 1, i = 0; i < 100 && (p = strstr(&str[i], substr)); i++)
        printf("Poziciya vhozhdeniya #%d: %d\n", c++, i = p - str);
      _getch();
      return 0;}

    Что-то не работает. Ввожу 1ую строку, 2ую строку. Программа результат не выводит. Подскажите, пожалуйста, как это можно исправить?
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 248 раз(а) в 164 сообщениях
    Код :
    #include <iostream>
    #include <cstring>
    int main() {
    	char str_1[255], str_2[255];
    	int i, j, len_1, len_2;
     
      std::cout << "str_1: ";
      std::cin >> str_1;
     
      std::cout << "str_2: ";
      std::cin >> str_2;
     
    	len_1 = strlen(str_1);
    	len_2 = strlen(str_2);
     
      len_1 = len_1 - len_2 + 1;
    	for (i = 0; i < len_1; ++i) {
    		for (j = 0; j < len_2;) 
    			if (str_1[i++] != str_2[j++])
    				break;
    		if (j == len_2)
    			std::cout << i - len_2 << std::endl;
        i = i - j;
    	}
    }
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    >Quiet Snow< (09.11.2013)

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Может ли онлайн консультант повысить позиции сайта в яндексе.
    от q123456q в разделе Общие вопросы оптимизации
    Ответов: 6
    Последнее сообщение: 30.08.2016, 18:24
  2. Как узнать позиции ?
    от Glava в разделе Яндекс
    Ответов: 4
    Последнее сообщение: 02.10.2013, 17:31
  3. Почему меняются позиции?
    от гелий в разделе Яндекс
    Ответов: 3
    Последнее сообщение: 24.09.2012, 14:24
  4. Ответов: 1
    Последнее сообщение: 30.08.2012, 19:05
  5. строки в с++
    от stupidstudent в разделе C/C++
    Ответов: 2
    Последнее сообщение: 17.12.2011, 16:45
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •