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

C++ строковые - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
j245
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 36
17.11.2010, 20:23     C++ строковые #1
3
задача №1. Написать и протестировать функцию STRP(str1,str2), которая возвращает указатель на последнее вхождение символа из строки str2 в строку str1. Если ни один символ из строки str2 не входит в строку str1, то возвратить NULL.

задача №2. Выделить из строки str1 все слова, начинающиеся с гласной буквы, а из строки str2 – слова, начинающиеся с согласной. Образовать строку str3, состоящую из выделенных слов обеих строк. Строки str1 и str2 программа должна получать за счет ввода.

Visual Studio 2008, консольное приложение Win32

Помогите, пожалуйста)

Добавлено через 6 часов 1 минуту
Никто не знает? )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 20:23     C++ строковые
Посмотрите здесь:

C++ строковые
Строковые данные C++
C++ Строковые данные
Строковые массивы. C++
Строковые переменные. C++
C++ Строковые переменные
Строковые массивы C++
Строковые массивы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
18.11.2010, 03:26     C++ строковые #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// aaa.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>/*
   Написать и протестировать функцию STRP(str1,str2), которая возвращает 
   указатель на последнее вхождение символа из строки str2 в строку str1.
   Если  ни  один  символ  из  строки  str2  не  входит в строку str1, то
   возвратить NULL.*/
char * STRP(char str1[100],char str2[100])
{
    char * tmp;
    int len1=strlen(str1);
    int len2=strlen(str2);
    int i,j;
    bool flag=false;
    for(i=0;i<len1;i++)
    {
        for(j=0;j<len2;j++)
        {
            if(str1[i]==str2[j])
            {
                tmp=&str2[j];
                flag=true;
            }
        }
    }
    if(flag)
        return tmp;
    else
        return NULL;
}
int _tmain(int argc, _TCHAR* argv[])
{
   char str1[100],str2[100];
   char* tmp;
   puts("str1");
   gets(str1);
   puts("\n\nstr1");
   gets(str2);
   tmp=STRP(str1,str2);
   if(tmp==NULL)
       printf("NULL");
   else
       printf("%c",*tmp);
   getch();
}
Добавлено через 5 минут
Во втором задании только русские символы будут встречаться???

Добавлено через 2222222222222222222222222222222222222222222222222222222222 секунды
Во втором задании только русские символы будут встречаться???
j245
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 36
18.11.2010, 06:26  [ТС]     C++ строковые #3
Да, только русские

Добавлено через 39 минут
ЗА 1ю спасибо, но мне немного не так ее надо, что то примерно в таком духе

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*Написать и протестировать функцию ISSUBSTR(str1,str2), которая выясняет, является ли строка  str1 подстрокой 
строки str2. Функция должна возвратить номер позиции, с которой начинается подстрока, либо –1, если подстрока не найдена.
Распечатать строку, которая получается из введенной строки  путем удаления из нее слов с четными номерами. 
Например, из строки      Я от бабушки ушел, я от дедушки ушел.
Должно получиться       Я бабушки, я дедушки.*/
#include <iostream>
#include "text.h"
 
using namespace std;
int ISSUBSTR (char *str1,char *str2);
void f1(char *str3);
void f1(char *str3)
{
char str4[80];
int i=1,j=0,p;
p=strlen(str3);
for (int k=0;k<p;k++)
{
if ((i%2)==1)
{
str4[j]=str3[k];
j++;
}
if (str3[k]==' ')
i++;
}
str4[j]='\0';
for (i=0;i<p;i++)
str3[i]=str4[i];
 
}
int ISSUBSTR (char *str1,char *str2)
{
int k=0, l=0;
int p=strlen(str1);
int q=strlen(str2);
for (int i=0;i<(q-p+1);i++)
if (str2[i]==str1[0])
l=i;
for (int j=0;j<p;j++)
{if (str2[l]==str1[j])
l++;
else k=-1;
}
if (k!=-1)
k=l-p+1;
return k;
}
int main(void)
{
int x;
char str1[80],str2[80],str3[80];
cout<<T("Введите строку 1")<<"\n";
cin.getline(str1,80,'\n');
cout<<T("Введите строку 2")<<"\n";
cin.getline(str2,80,'\n');
x=ISSUBSTR(str1,str2);
if (x!=-1)
{
cout<<T("Строка 1 является подстрокой 2, начиная с ")<<x;
cout<<T(" элемента\n");}
else cout<<T("Строка 1 не является подстрокой 2")<<"\n";
cout<<T("Введите строку")<<"\n";
cin.getline(str3,80,'\n');
f1(str3);
cout<<T("Строка, полученная путем удаления четных слов:\n")<<str3<<endl;
}
Про строковые ничего найти не смог толком, потому и переделать нормально не получается..
Yandex
Объявления
18.11.2010, 06:26     C++ строковые
Ответ Создать тему
Опции темы

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