Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
#1

Строки и функции - C++

17.12.2012, 00:34. Просмотров 298. Ответов 2
Метки нет (Все метки)

Вот что я не так делаю? По моей логике есть Первая строка (задана в main). Есть функция, в которой есть Вторая строка.
В первой строке есть символ, который ищется во второй строке и если символ найден, то должен произойти перевод на новую строку. НО перехода не происходит из-за моей какой-то ошибки.
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
#include <iostream>
using namespace std;
 
bool func(char *P,char ch)
{
    char *M="+-*/"; //по этой строке проверяю вхождение символа
 
    for (int i=0;i<strlen(M);i++) //прохожу по всей строке с символами
       if (ch==M[i]) return false; //если входящий ch нашелся в строке с символами, то возвращаю false
       else return true; //иначе true
}
 
int main()
{
    char Str[]="Priv-et"; //тестируемая строка
 
    for (int i=0;i<strlen(Str);i++)  //Прохожу по тест строке
    {
        if (func(Str,Str[i])==true) cout<<"1"; //если функция не встретила символ, то выводит 1
        else cout<<endl; //если встретила, то переход на новую строку
    
    }
    cout<<endl;
 
    return 0;
}
почему так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 00:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки и функции (C++):

Разработка функции (размещение строки s1 в середине строки s2 длиной l) - C++
Здравствуйте! Собственно, дано задание разработать функцию: Функция Center(s1,s2,l) Назначение: центрирование — размещение строки s1 в...

В функции, для каждой строки матрицы M[n][k], максимальный элемент поменять местами с первым элементом строки - C++
В функции, для каждой строки матрицы M, максимальный элемент поменять местами с первым элементом строки. Дополнительных массивов и матриц...

Строки + функции - C++
Нужна помощь! Была дана задача, сделать прогу по подсчету символов в строке до буквы &quot;я&quot;. Потом сказали сделать ее с использованием функций...

Строки и функции - C++
Программа выводит все цитаты из текста,считанного из файла. Надо оформить ее с помощью функции. Когда я пытаюсь сделать функцию, появляется...

Строки. Функции - C++
Помогите пожалуйста! Дана строка: подсчитать сумму кодов символов каждого слова. Слова в строке разделены пробелами. Заранее спасибо! ...

Функции и строки - C++
Помогите плз написать программу с функцией, формирующей строку-результат путем вставки после каждого символа исходной строки указанного...

2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6511 / 3148 / 308
Регистрация: 04.12.2011
Сообщений: 8,709
Записей в блоге: 5
17.12.2012, 01:23 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
bool func(char ch)
{
    char *M="+-*/"; //по этой строке проверяю вхождение символа
 
    for (unsigned int i=0;i<strlen(M);i++) //прохожу по всей строке с символами
       if ((int)ch==(int)M[i])return false; //если входящий ch нашелся в строке с символами, то возвращаю false
       return true; //иначе true
}
int main()
{
    char Str[]="Priv-et"; //тестируемая строка
 
    for (unsigned int i=0;i<strlen(Str);i++)  //Прохожу по тест строке
    {
        if (func(Str[i])==true) {cout<<"1";} //если функция не встретила символ, то выводит 1
        else {cout<<endl;} //если встретила, то переход на новую строку
    }
 cout <<endl;
system("PAUSE");
return 0;
}
1
daslex
1286 / 530 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
17.12.2012, 02:06  [ТС] #3
В моем коде строки 9 и 10
C++
1
2
 if (ch==M[i]) return false; //если входящий ch нашелся в строке с символами, то возвращаю false
       else return true;
Если я убираю else все в порядке. Если ставлю, то работает не так как надо.

Но Почему так?
Я думал, что функция и так и так возвращет true если символ не найден.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 02:06
Привет! Вот еще темы с ответами:

Строки и функции - C++
Написать функцию удаления всех символов &quot;*&quot;, и повторить каждый символ отличный от &quot;*&quot;. Вариант задания реализовать в виде функции. Если...

Строки и функции - C++
Привет... Помогите решить, пожалуйста. Задание такое: Распечатать введенную строку, исключив из нее те символы, которые находятся...

Символьные строки и функции - C++
Создайте функцию, которая печатает строку и сообщает количество напечатанных символов.

Функции обработки строки - C++
Народ, помогите расписать так чтобы через чтение по символам Я накидал свой вариант, но не подходит, а по символьное не могу сообразить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.