Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Строки и символы


Автор: Gilgamesh 15.1.2009, 14:34
В Microsoft Visual C++ 6.0

Удалить из строки s1 все символы, встречающиеся в строке s2.

Автор: Rififi 15.1.2009, 15:26
Спросить-то чего хотел? :?:

Автор: Gilgamesh 15.1.2009, 18:22
Да собственно незнаю как прогу написать!

Автор: solverr 15.1.2009, 19:29
Цитата(Gilgamesh @ 15.1.2009,  14:34)
В Microsoft Visual C++ 6.0

Удалить из строки s1 все символы, встречающиеся в строке s2.

Лень запускать студию, поэтому попробую написать в броузере 
Код

#include <stdio.h>

char s1[] = "Hello World";
char s2[] = "Bye World";

int main() 
{
    bool b2[128] = {};
    int i, j;
    for (i = 0; s2[i]; i++)
        b2[s2[i]] = true;
    j = 0;
    for (i = 0; s1[i]; i++)
        if (!b2[s1[i]]) s1[j++] = s1[i];
    s1[j] = 0;
    printf("%s\n", s1);
}

Автор: Gilgamesh 20.1.2009, 13:16
У меня выдает 33 ошибки

Автор: Gilgamesh 22.1.2009, 21:46
Нашёл в нете код, но чот не то выдает
Код



# include <iostream.h>
# include <string.h>
void main(void)
{
    int i,j,d,k,t=0,nc=-1;
    char a[128],c[128];
    cout <<"Vvedite stroky 1 i nagmite Enter" << endl;
    cin.getline(a, sizeof(a));
    cout << "Vvedite tekst:"<< a <<endl;
    int n=strlen(a);
    cout <<"Vvedite stroky 2 i nagmite Enter"<<endl;    
    cin.getline(c, sizeof(c));
    cout << "Vvedite tekst:"<<a<<endl;
    const char b[128]={"123456789"};
    int m=strlen(b);
    for(i=0; i<n; i++)
        for(k=0; k<=m; k++)
        {
            if (a[i]==a[k]) t++;
            if (k==n)
            {
                if (t==1)
                {
                    c[++nc]=a[i];
                    t=0;
                }
                else t=0;
            }
        }
        cout<<endl;
        for (i=0;i<nc;i++) cout<<c[i]<<" ";
        cout<<endl;
        cout<<"Elementy"<<endl;
        for (i=0; i<=m; i++)
            for (j=0;j<=nc;j++)
                {
                if (b[i]==c[j]) cout<<b[i]<<" ";
            }
}


Автор: Shooroop 22.1.2009, 23:35
попробуй этот код:
Код

#include <iostream>
using namespace std;

int main() 
{
    //char s1[] = "Hello World";
    //char s2[] = "Bye World";

    char s1[] = "5685fkcx bajert3";
    char s2[] = "sf hju573n h";

    bool alf[128]={};
    for(int i=0;s2[i];i++)
        alf[s2[i]]=true;

    cout<<"s1 "<<s1<<endl;
    cout<<"s2 "<<s2<<endl;

    for(int i=0;s1[i];i++)
        if(alf[s1[i]]==true)
        {
            for(int j=i;s1[j];j++)
                s1[j]=s1[j+1];
            i--;
        }
    
    cout<<"s1 "<<s1<<endl;
    cout<<"s2 "<<s2<<endl;

    cout<<"pres ENTER"<<endl;
    cin.get();
}

Автор: Gilgamesh 23.1.2009, 09:08
хм, 48 ошибок((

Автор: mrbrooks 23.1.2009, 09:58
Цитата(Gilgamesh @  23.1.2009,  09:08 Найти цитируемый пост)
хм, 48 ошибок(( 

какие блин ошибки. здесь не сборище телепатов, магов и шаманов. выкладывай их в студию.

Автор: Shooroop 23.1.2009, 11:54
Цитата(Gilgamesh @ 23.1.2009,  07:08)
хм, 48 ошибок((

1. действительно какие именно ошибки
2. откуда 48 smile ????? там кода меньше чем ошибок!!!!!!

качай с сайта майкрософта visual studio 2008 express edition она бесплатная и работает "из коробки" сразу.
а так-же прочитай как создавать проекты в ней, думаю дело в этом.

Автор: Gilgamesh 23.1.2009, 12:30
Да дело в том что мне нужно именно Microsoft Visual C++ 6.0

c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(7) : error C2059: syntax error : '}'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(7) : warning C4508: 'main' : function should return a value; 'void' return type assumed
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2143: syntax error : missing ';' before 'for'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2143: syntax error : missing ')' before ';'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2065: 'i' : undeclared identifier
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2057: expected constant expression
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2466: cannot allocate an array of constant size 0
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2501: 's2' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2143: syntax error : missing ';' before '++'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2501: 'i' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2143: syntax error : missing ';' before '++'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(8) : error C2059: syntax error : ')'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(10) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(10) : error C2501: 'cout' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(10) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(11) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(11) : error C2501: 'cout' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(11) : error C2086: 'cout' : redefinition
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(11) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2143: syntax error : missing ';' before 'for'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2143: syntax error : missing ')' before ';'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2057: expected constant expression
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2466: cannot allocate an array of constant size 0
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2501: 's1' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2143: syntax error : missing ';' before '++'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2501: 'i' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2086: 'i' : redefinition
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2143: syntax error : missing ';' before '++'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(12) : error C2059: syntax error : ')'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(14) : error C2143: syntax error : missing ';' before '{'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(14) : error C2447: missing function header (old-style formal list?)
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(19) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(19) : error C2501: 'cout' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(19) : error C2086: 'cout' : redefinition
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(19) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(20) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(20) : error C2501: 'cout' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(20) : error C2086: 'cout' : redefinition
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(20) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(21) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(21) : error C2501: 'cout' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(21) : error C2086: 'cout' : redefinition
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(21) : error C2143: syntax error : missing ';' before '<<'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(22) : error C2143: syntax error : missing ';' before '.'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(22) : error C2501: 'cin' : missing storage-class or type specifiers
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(22) : error C2143: syntax error : missing ';' before '.'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(23) : error C2143: syntax error : missing ';' before '}'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(23) : error C2143: syntax error : missing ';' before '}'
c:\program files (x86)\microsoft visual studio\myprojects\10\10.cpp(23) : error C2143: syntax error : missing ';' before '}'
Error executing cl.exe.

10.obj - 48 error(s), 1 warning(s)


Автор: Shooroop 23.1.2009, 13:31
Все разобрался! пришлось vs6 в инете искать ели как нашел.
создаем проект : Concol Application -> Empty project
Код

#include <iostream>
using namespace std;
int main() 
{
    //char s1[] = "Hello World";
    //char s2[] = "Bye World";
    char s1[] = "5685fkcx bajert3";
    char s2[] = "sf hju573n h";
    //bool alf[128]={};         // надо было эту строку заменить на нижнии 2е
    
    bool alf[128];
    memcpy(alf,"",sizeof(alf));

    int i=0;         // и вынести определение  переменной i за тело цикла
    for(i=0;s2[i];i++)
        alf[s2[i]]=true;
    cout<<"s1 "<<s1<<endl;
    cout<<"s2 "<<s2<<endl;
    for(i=0;s1[i];i++)
        if(alf[s1[i]]==true)
        {
            for(int j=i;s1[j];j++)
                s1[j]=s1[j+1];
            i--;
        }
    
    cout<<"s1 "<<s1<<endl;
    cout<<"s2 "<<s2<<endl;
    cout<<"pres ENTER"<<endl;
    cin.get();
}

теперь должно все проканать  smile 
Проблема вроде заключается в не соответствии MS C++ компилятора стандарту C++. Если кому интересно то есть статья по моемому называется "Нестандартный С" Крис Касперски

Автор: Gilgamesh 23.1.2009, 13:44
Все заработало спс!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)