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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
sergkhit
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 21
#1

Осуществить поиск в строке первого вхождения указанного символа (Маленькая доработка) - C++

15.12.2012, 22:56. Просмотров 1322. Ответов 4
Метки нет (Все метки)

Задание: Осуществить поиск в строке первого вхождения указанного символа.

C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
char *str = "world";
printf("'r' is at position: %d\n", (strchr(str, 'r')-str));
return 0;
}
Нужно сделать,чтоб если не было символа этого - выходило что-то типо "нету"
Зачем мы вычитаем и что в итоге получаем?(порядковый номер не подходит)
Помогите,пожалуйста, ответить хоть на один вопрос
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 22:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Осуществить поиск в строке первого вхождения указанного символа (Маленькая доработка) (C++):

Поиск в строке первого вхождения указанного символа - ошибки - C++
Осуществить поиск в строке первого вхождения указанного символа. выдает большие числа . это правильно или нет? #include &lt;string.h&gt; ...

Осуществить конкатенацию двух файлов за счёт создания третьего файла (Маленькая доработка) - C++
Задание: Осуществить конкатенацию двух файлов за счёт создания третьего файла #include &lt;stdio.h&gt; int main(char* ptt) { FILE...

Поиск в заданной строке последнего вхождения заданного символа - C++
Помогите написать функцию, которая ищет в заданной строке последнее вхождение заданного символа (char *strrchr(const char *s1, int c)

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с...

Заменить все вхождения первого символа в массив на второй символ - C++
Задан символьный массив и два символа. Замените все вхождения первого символа в массив на второй символ. Нужно до пятницы. Заранее спасибо.

Строки: найти порядковые номера первого и последнего вхождения символа x - C++
Разработать программу, которая для заданной строки s: находит порядковые номера первого и последнего вхождения символа x;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
15.12.2012, 23:29 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char *str = "world";
 
    if (strchr(str, 'r') != NULL)
        cout << "'r' is at position: " << strchr(str, 'r') << endl;
    else
        cout << "No" << endl;
                
    system("pause");            
    return 0;                   
}
1
sergkhit
0 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 21
16.12.2012, 01:00  [ТС] #3
а можете на си написать?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 10:44 #4
Не смогу. Я очень плохо знаю си
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
16.12.2012, 10:57 #5
Цитата Сообщение от sergkhit Посмотреть сообщение
Зачем мы вычитаем и что в итоге получаем?(порядковый номер не подходит)
Смотри
строка str допустим находится по адресу 100
strchr(str, 'r') ишет букву r
Функция strchr() возвращает указатель на местонахождение первого совпадения с символом c в строке s ... а если символ не найден, то возвращают NULL.
нашла дала адрес 102(третья буква в слове "world")
теперь вычитаем из 102 (адрес буквы)-100(адрес начала строки) и получаем позицию буквы 2



Цитата Сообщение от sergkhit Посмотреть сообщение
Нужно сделать,чтоб если не было символа этого - выходило что-то типо "нету"
C
1
2
3
4
if(strchr(str, 'r')==NULL)
  printf("No");
else
  printf("'r' is at position: %d\n", (strchr(str, 'r')-str));
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 10:57
Привет! Вот еще темы с ответами:

В конец каждой строки дописать позицию первого вхождения символа - C++
как правильно сделать что бы я мог вводить любое количество строк ,а не как у меня только на 4 строки и чтобы с этими строками работала...

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

Поиск вхождения символа - C++
Как реализовать поиск символа в строке? например, нужно найти не точку в 1 строке, потом неточку во второ й и сравнить позиции

Функция, определяющая позицию самого первого вхождения заданного символа в исходную строку - C++
Прошу помочь решить задачки!:(очень нужно (Билет №25) Составить функцию, позволяющую определить позицию самого первого вхождения...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.12.2012, 10:57
Ответ Создать тему
Опции темы

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