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

Функция находит в строке первый символ, который входит в другую заданную строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Табуляция http://www.cyberforum.ru/cpp-beginners/thread713883.html
//Èñïîëüçóÿ òîëüêî òåõíèêó ïðîãðàììèðîâàíèÿ, èçó÷åííóþ â ýòîé ãëàâå, //íàïèøèòå ïðîãðàììó, êîòîðàÿ âû÷èñëÿåò êâàäðàò è êóá ÷èñåë îò 0 äî 10 #include <iostream> using std:: cout; using std:: cin; using std:: endl; main() { int a, b, c, d, e, f, g, h, i, k, l;
C++ события клавиатуры в с++ Как сделать так что бы при нажатии на клавиатуру, дигалась картинка, и как додать картинку?спс) http://www.cyberforum.ru/cpp-beginners/thread713875.html
C++ Структуры. Бизнес-функция.
Последняя работа) выручайте !!! Задание: • Определите алгоритм решения задачи (в словесной или графической форме) ; • Создайте консольное приложение для решения задачи; В программе необходимо: 1. Определить структурный тип данных в соответствии с вариантом;
Построить блок схему C++
Помогите пожалуйста по программе построить блок схему очень надо #include <iostream> using namespace std; int main() { double a,b,r,s; int n; cout<<"n="; cin>>n;
C++ Обработка двумерных числовых массивов. Вывести индексы всех её седловых точек http://www.cyberforum.ru/cpp-beginners/thread713841.html
Задана целая матрица размером m×n. Вывести индексы всех её седловых точек. Элемент массива называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своём столбце или, наоборот, наибольшим в своей строке и одновременно наименьшим в своём столбце. Добавлено через 11 часов 3 минуты Задана целая матрица размером m×n. Вывести индексы всех её седловых...
C++ Двумерный массив. Определить количество «особых» элементов массива. Задан вещественный массив размером m×n. Определить количество «особых» элементов массива и вывести их на экран с указанием местоположения. «Особым» считается элемент, больший суммы остальных элементов его столбца. подробнее

Показать сообщение отдельно
m1lka
1 / 1 / 0
Регистрация: 23.10.2012
Сообщений: 67
29.11.2012, 22:37     Функция находит в строке первый символ, который входит в другую заданную строку
нужно написать собственную функцию, которая находит в строке первый символ, который входит в другую заданную строку.
есть код, но работает не очень, при слишком большой дальности встречающегося символа выдает не правильно..

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
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int str_pos(char *s1, char *s2, char c)
{
    int n = 0;
    while(*s1 != '\0')
    {
        printf("\ns1= %s", s1);
        while(*s2 != '\0')
        {
            printf("\ns2= %s", s2);
            if(*s1 == *s2)
            {
                c = *s2;
                printf("\n\nyes\n\nc= %c", c);
                return 1;
            }
            s2++;
            n++;
        }
        for(int i = n; i > 0; i--)
            s2--;
        s1++;
    }
    cout << endl << "Бля" << endl;
    return 0;
}
 
int main(int argc, char *argv[])
{
    char stroka1[80], stroka2[80], *str1 = stroka1, *str2 = stroka2;
    char simvol;
    
    printf("Введите первую строку: ");
    while((*str1++ = getchar()) != '\n') ;
    *str1 = '\0';
    printf("Введите вторую строку: ");
    while((*str2++ = getchar()) != '\n') ;
    *str2 = '\0';
 
    str_pos(stroka1, stroka2, simvol);
    printf("\nПервый символ: %c\n", simvol);
}
как сделать так, чтобы в циклах перебирались элементы строки по одному, а не чтобы он начинал со всей строки, а потом на уменьшение.
т.е. вместо например строка kol
вместо:
kol
ol
l

надо:
k
o
l
...
Спасибо за помощь заранее
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru