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

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

Войти
Регистрация
Восстановить пароль
 
Лестат
12 / 11 / 1
Регистрация: 24.09.2009
Сообщений: 188
#1

функция с указателем - C++

08.12.2009, 20:25. Просмотров 474. Ответов 6
Метки нет (Все метки)

Плз, помогите....
надо написать на языке С
Написать и протестировать функцию STRP ( str1, str2), которая возвращает указатель на первое вхождение символа из строки str2 в строку str1. Если ни один символ строки str2 не входит в строку str1, то возвратить NULL.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
08.12.2009, 20:43     функция с указателем #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
24
#include <iostream>
using namespace std;
 
char* STRP(char* str1, char* str2);
 
int main()
{
    char str1[] = "Hi! This is test string!";
    char str2[] = "sT";
    
    char *res = STRP(str1, str2);
    if (res)
        cout << res;
    return 0;
}
 
char* STRP(char* str1, char* str2)
{
    for (int i=0; i<strlen(str1); i++)
        for (int j=0; j<strlen(str2); j++)
            if (str1[i]==str2[j])
                return str1+i;
    return NULL;
}
Лестат
12 / 11 / 1
Регистрация: 24.09.2009
Сообщений: 188
08.12.2009, 20:47  [ТС]     функция с указателем #3
я не очень понял =(
using namespace std;
i<strlen(str1) - эт i < длины строки ( str1) ?
return str1+i; -почему возвращамем str+1
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
08.12.2009, 20:52     функция с указателем #4
Цитата Сообщение от Лестат Посмотреть сообщение
using namespace std;
не заморачивайтесь с этим. скажу лишь, что это нужно, чтобы современные компиляторы работали с cout и cin если старый компилятор - это можно убрать.


Цитата Сообщение от Лестат Посмотреть сообщение
i<strlen(str1) - эт i < длины строки ( str1) ?
да



Цитата Сообщение от Лестат Посмотреть сообщение
return str1+i; -почему возвращамем str+1
ну.. строка - это массив символов.
имя этого массива, указывает на первый его элемент. в задании сказано, вернуть указатель.
поэтому мы и возвращаем адресс со сдвигом (i).

Можно сделать так, например:
C++
1
return &str1[i];
Лестат
12 / 11 / 1
Регистрация: 24.09.2009
Сообщений: 188
08.12.2009, 20:54  [ТС]     функция с указателем #5
ааа, ясно , только я это буду переделывать на С, какие вместо этой библиотеки подключать, и надо ли будет using namespace std; ? Спасибо большое
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
08.12.2009, 21:01     функция с указателем #6
Цитата Сообщение от Лестат Посмотреть сообщение
using namespace std;
нет. не нужен.


Цитата Сообщение от Лестат Посмотреть сообщение
какие вместо этой библиотеки подключать
#include <stdio.h>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2009, 21:02     функция с указателем
Еще ссылки по теме:

В чем разница между указателем и указателем на указатель? C++
Непоняток с указателем C++
C++ Функция с указателем на void** не получается вернуть данные?
C++ Указатели на функцию. Задача 2: функция предикат с void указателем
Работа с указателем C++

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

Или воспользуйтесь поиском по форуму:
Лестат
12 / 11 / 1
Регистрация: 24.09.2009
Сообщений: 188
08.12.2009, 21:02  [ТС]     функция с указателем #7
ясно, спасибо
Yandex
Объявления
08.12.2009, 21:02     функция с указателем
Ответ Создать тему
Опции темы

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