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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распределение по Гауссу http://www.cyberforum.ru/cpp-beginners/thread217927.html
Нужно сделать генератор случайных чисел с распределением по Гауусу. Помогите, пожалуйста. Есть код равномерного распределения #include <fstream> #include <ctime> #include <cstdlib> int main()...
C++ Сконвертировать символ строки в число Вообщем к примеру есть строка char *s; Мне надо сконвертировать в int отдельный символ unsigned int n = atoi(s) к примеру, компилятор само собой ругается, что не может сконвертить int в... http://www.cyberforum.ru/cpp-beginners/thread217918.html
попадание точки на плоскости в заданную область C++
Здравствуйте. Помогите пожалуйста, нужно составить программу проверяющую попадание точки на плоскости в заданную область. Область задана на рисунке заштрихованной фигурой. Границы фигуры принадлежат...
C++ Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке. Решение программы повлияет на автомат почти всей группы, помогите ребята!)))
C++ Вычисление суммы ряда csc(x) http://www.cyberforum.ru/cpp-beginners/thread217874.html
Здравствуйте! Помогите, пожалуйста, исправить ошибки в программе. Срочно! Заранее спасибо. //--------------------------------------------------------------------------- #include <vcl.h>...
C++ Наименьший массив и количество наименьших массивов Подскажите как найти количество наименьших? Я сделал вроде как найти наименьший.. А как вывести количество наименьших, если их два и более? #include <stdio.h> int main(void) { int... подробнее

Показать сообщение отдельно
j245
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 36

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

22.12.2010, 14:03. Просмотров 765. Ответов 4
Метки (Все метки)

Здравствуйте, проблемка есть

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
// Выделить из строки str1 все слова, начинающиеся с согласной буквы, а из строки str2 – слова, начинающиеся с гласной. 
// Образовать строку str3, состоящую из выделенных слов обеих строк.  Строки str1 и str2  программа должна получать за счет ввода. 
 
#include <iostream>
#include <math.h>
#include <string.h>
#include <E:\text.h>
 
using namespace std;
 
char glas[]={"AaEeIiOoUuYy"};
char soglas[]={"BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxZz"};
bool prover(char a, char *b);
void f2(char str, char *c, char *rezult);
bool prover(char a, char *b)
{
    int j;
    for (j=0;j<strlen(b);j++)
        if (a==b[j])
            return true;
    return false;
}
void f2(char *str, char *c, char *rezult)
{
    char a;
    int i=0,j,n;
    n=strlen(str);
    j=strlen(rezult)-1;
    do
    {
        a=str[i];
        if (prover(a,c))
        {
            do
            {
                rezult[j]=str[i];
                i++;
                j++;
            }
            while (str[i]!=' '&&i<n);
            j++;
            rezult[j]=' ';
        }
        else
        {
            do
                i++;
            while (str[i]!=' '&&i<=n);
        }
        i++;
    }
    while (i<n);
    rezult[j+1]='\0';
}
int main(void)
{
    char str[80],str2[80],rezult[80];
    rezult[1]='\0';
    cout<<T("Введите первую строку")<<endl;
    cin.getline(str,80);
    cout<<T("Введите вторую строку")<<endl;
    cin.getline(str2,80);
    f2(str, soglas, rezult);
    f2(str2, glas, rezult);
    cout<<T("Новая строка\n")<<rezult<<endl;
}
Вывод:

Введите первую строку
It's fucking great
Введите вторую строку
It is what it is
Новая строка
fucking╠great╠It╠is╠it╠is╠
Для продолжения нажмите любую клавишу . . .


╠ как убрать этот мусор? из-за чего он появляется..

И еще вот функция:

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
// Написать и протестировать функцию STRP(str1,str2), которая возвращает указатель на последнее .. // вхождение символа из строки str2  в строку str1. Если ни один символ из строки str2 не входит в 
// строку str1, то возвратить NULL.
 
char *strp(char *str1, char *str2)
{
int n, m;
int k,l;
char ns;
n=strlen(str1),m=strlen(str2);
for (int j=0;j<m;j++)
for (int i=0;i<n;i++)
{
ns=str1[0];
k=0;
if(str1[i]==str2[j])
{
k=i;
for(l=0;l<n;l++)
{
str1[l]=str1[k];
k++;
}
return str1;
}
}
return NULL;
}
К ней нужно дописать мэйн, не совсем понятно что там нужно.. Помогите, пожалуйста, был бы очень признателен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru