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

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

Войти
Регистрация
Восстановить пароль
 
Grachyova
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
#1

Функция в строках - C++

13.11.2012, 19:57. Просмотров 230. Ответов 7
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста с функцией. Где-то что-то я не понимаю по функциям..
Есть строка которая при обработке функцией выводится в определенном виде. без разделения на функцию и основную программу все работает, но мне нужно с функцией для обработки потом нескольких строк по одним правилам.
Спасибо.
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
#include <iostream>
#include <stdio.h>
#include <string.h>
 
char *f()
{char  *str1, *ptr, m=' ',  c='p';
int a;
    ptr=strrchr(str1,c);
if ( ptr )
{a=ptr-str1;
str1 [a+1] = '\0';
}
else
{ptr=strrchr(str1,m);
if(ptr)
{a=ptr-str1;
str1 [a] = '\0';
}
}
return (str1);
}
main()
{char *str1;
printf ("Vvedite stroku 1: ");
gets (str1);
str1=f();
printf (str1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 19:57     Функция в строках
Посмотрите здесь:

Функция strncpy не работает на строках длинее трех символов - C++
Подскажите, написал код... Хочу копировать каждое слово в g (т.е. s3). Функцией strncpy. Длину находит правильную, но при копировании...

Почему функция strchr по разному работает при разных строках? - C++
Только начал изучать С. Пользую Borland C++ v.3.1 Нужно работать со строками. Вот стандартный пример из стандартного хелпа компилятора: ...

Не работает функция подсчета количества знаков в трёх вводимых строках - C++
Доброго времени суток. Ребят, пытался создал функцию, считывающую количество символов &quot; * &quot; (звездочка) в 3х строках. Не пойму почему не...

о строках - C++
вопрос по поводу строк. я хочу в cout выводить русские символы и какие нибудь строки на русском. например string a; ...

Мусор в строках - C++
Привет всем!!! Я пишу помехоустойчивый декодер Витерби. Имеется граф 4x32. struct graf { int rebro0; int rebro1; ...

Предложения в строках - C++
Просидел 2 часа и не смог догнать, как реализовать задачу.Решил обратиться к умеющим за помощью. Задача: Написать программу, которая...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 19:59     Функция в строках #2
Изложи суть задания.
Grachyova
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
13.11.2012, 20:03  [ТС]     Функция в строках #3
Цитата Сообщение от David Sylva Посмотреть сообщение
Изложи суть задания.
Вот тема Строки, поиск вхождений символов и вывод

Изначальное задание:
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке. Если такого символа нет, то вывести всю строку, исключив из нее последнее слово.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 20:30     Функция в строках #4
Grachyova вам надо исправить вот этот код или можно предложить альтернативный вариант?
Grachyova
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
13.11.2012, 20:33  [ТС]     Функция в строках #5
Цитата Сообщение от David Sylva Посмотреть сообщение
Grachyova вам надо исправить вот этот код или можно предложить альтернативный вариант?
Желательно исправить этот, но если есть альтернативный и он проще будет то можно и так! Цель рабочая программа! Которая на ввод двух строк реагирует обработкой и выводом как по заданию
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 20:35     Функция в строках #6
Вот посмотрите такой вариант, мне кажется он легче и не используются стандартные функции
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
#include <iostream>  
 
void func(char* str) 
{ 
    int i, j, index = -1;
    int size = strlen(str);
    for ( i = size; i >= 0; i--) 
        if(str[i] == 'p') 
        { 
            index = i; 
            for ( j = 0; j < index; j++) 
                std::cout << str[j]; 
            std::cout << std::endl;
            break;  
        }  
        if(index == -1) 
            for ( i = size; i>=0; i--)  
                if(str[i] == ' ') 
                {
                    index = i; 
                for ( j = 0; j < index; j++) 
                    std::cout << str[j]; 
                std::cout << std::endl;  
                break;
                } 
}
 
int main() 
{ 
    char str1[] = "Real Madrid Champions of Spain"; 
    char str2[] = "Barcelona is very good team"; 
    func(str1); 
    func(str2);
}
Grachyova
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
13.11.2012, 20:55  [ТС]     Функция в строках #7
Цитата Сообщение от David Sylva Посмотреть сообщение
Вот посмотрите такой вариант, мне кажется он легче и не используются стандартные функции
C++
1
2
3
4
5
6
7
int main() 
{ 
    char str1[] = "Real Madrid Champions of Spain"; 
    char str2[] = "Barcelona is very good team"; 
    func(str1); 
    func(str2);
}
Поменяла ввод строк, зная преподавателя!
C++
1
2
3
4
5
6
7
8
9
int main()
{char str1[20], str2[20];
    printf ("Vvedite stroku 1: ");
gets (str1);
printf ("Vvedite stroku 2: ");
gets (str2);
    func(str1);
    func(str2);
}

Спасибо огромное! Завтра пойду сдаваться в универ...
Я правильно понимаю реализовано через указатели??? Пояснительную же писать буду...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 20:57     Функция в строках
Еще ссылки по теме:

Вопрос о строках. - C++
Здравствуйте, все. Талдычу строки. #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int main() {

Работа в строках - C++
Очень нужна помощь! Ввести строку. Вывести в виде нескольких строк так, чтобы в каждой строке было по 4 слова, первое слово начиналось...

Общий фрагмент в строках - C++
напрмер есть две строки, привет как дела и привет как авап нужно найти найбольший обший фрагмент что я сделал nt main(){ ...

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


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

Или воспользуйтесь поиском по форуму:
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 20:57     Функция в строках #8
Цитата Сообщение от Grachyova Посмотреть сообщение
Я правильно понимаю реализовано через указатели
я бы не сказал, что реализовано через указатели, просто строку передаем с помощью указателя.
Yandex
Объявления
13.11.2012, 20:57     Функция в строках
Ответ Создать тему
Опции темы

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