Форум программистов, компьютерный форум CyberForum.ru

Найти все вхождения строки s в t - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Квадратное уравнение http://www.cyberforum.ru/cpp-beginners/thread31180.html
Приветствую! Уважаемые программисты, начал учить С++ и вроде написал нижеследующую программу. У самого нет возможности проверить. Попросил друга, говорит, что появляется черный экран и всё. Подскажите, пожалуйста, что надо сделать, чтобы она работала? А как получается простая программа ввиде виндовского окна? Не понимаю. #include <iostream.h> #include <math.h> void main(void) // Моя первая...
C++ Классы возможностей(Mixin классы) Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет членов-данных) Т.е. к примеру у нас есть 2 базовых класса: Base 1 и Mixin, один из которых содержит только методы(Mixin), и есть класс который наследуется от этих2-х классов- Derived. Ведь методы класса Mixin не смогут манипулировать данными класса Base, так какие методы тогда можно сделать в... http://www.cyberforum.ru/cpp-beginners/thread31173.html
C++ Дан массив действительных чисел
Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
Сформировать файл целых чисел C++
составить програму,которая формирует файлцелых чисел,получаемых с помощу датчика случайных чисел
C++ Структура http://www.cyberforum.ru/cpp-beginners/thread31170.html
сведения о каждом химическом елементе таблицы Менделеева представить виде структуры.написать прорму ввода таблицы в память компютера.
C++ Написать программу СТАРОЯПОНСКОГО КАЛЕНДАРЯ)) В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю. подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17622 / 5846 / 375
Регистрация: 30.03.2009
Сообщений: 16,123
Записей в блоге: 26
25.04.2009, 19:06
Я тебе уже писал про своё отношение к выкладыванию готовых кодов. Выкладываю по одной причине - я тебе обещал посмотреть твою программу, но мне всё-таки лениво в ней копаться. Но, как говорится, назвался груздем... Это я всё к тому, чтобы ты меня не тиранил по поводу остальной кучи своих тем

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <string.h>
 
/* Проверяет наличие в строке ss подстроки tt
 * Если есть, возвращаем 1, иначе 0 */
int
str_in_str (char *ss, char *tt)
{
  int i;
 
  for (i = 0; i < strlen (tt); i++)
    if (ss[i] != tt[i])
      return 0;
 
  return 1;
}
 
void
find_indexes (char *s, char *t)
{
  int i;
 
  for (i = 0; i < (strlen (s) - strlen (t)); i++)
    if (str_in_str (s + i, t))
      printf ("%d\n", i);
}
 
int
main (void)
{
  char *s = "abbababababa";
  char *t = "aba";
 
  find_indexes (s, t);
 
  return 0;
}
Добавлено через 1 минуту 56 секунд
Единственное, что перед вызовом find_indexes нужно вставить контроль, что длина строки t должна быть меньше длины строки s. В противном случае программа работать не будет (это противоречит условиям задачи)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru