Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

wycinanie znaków z ciągu znaków w c++

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Informatyka
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
algebr
[świeżak]



Dołączył: 07 Mar 2009
Posty: 2
Przeczytał: 0 tematów


PostWysłany: Sob 16:27, 07 Mar 2009    Temat postu: wycinanie znaków z ciągu znaków w c++

Mam do napisania program. Wprowadzamy po kolei zależności funkcyjne A->BC, AC->D
program ma działać wg zasady

X'=X
repeat
T;=X'
for każda zależność postaci Y->Z do
if Y zawarte (lub równe) X' then X'=X' +{Z}
until X'=T
return X'

czyli tutaj bierzemy sobie np {A,C} z czego dostajemy zbiór {A,C,D} , A zawarte jest w {A,C,D} zatem mamy zbiór {A,B,C,D}

Za każdym razem trzeba wycinać z napisanego ciągu znaków znaki, które znajdują się przed -> Czy ktos jest w stanie mi pomóc?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Madras
Omylny Admin



Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów

Skąd: Z Pokoju :]

PostWysłany: Sob 17:22, 07 Mar 2009    Temat postu:

jeśli rozumiem, to nie chodzi o ciąg znaków, ale o zbiór

może Ci pomóc klasa std::set i jej metody insert oraz erase

powodzenia


Ostatnio zmieniony przez Madras dnia Sob 17:24, 07 Mar 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
algebr
[świeżak]



Dołączył: 07 Mar 2009
Posty: 2
Przeczytał: 0 tematów


PostWysłany: Pią 18:44, 13 Mar 2009    Temat postu:

Niestety nie wiem jak z tego skorzystać :(
Coś jednak wymyśliłem. Problem w tym, że nie działa mi jak trzeba :(

/*#include <cstdlib>
#include <iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
#include <string>

#define maxword 11
#define IN 1
#define OUT 0

void main()
{

int c,i,nc,state;
int wl[maxword];
int t[maxword];
state=OUT;
nc=0;


for(i=0;i<maxword;++i)
wl[i]=0;
for(int j=0;j<maxword;++j)
t[j]=0;


while((c=getchar())!=EOF)
{
if(c==' '||c==',')
{
state=OUT;

if(nc>0)
{

if(nc<maxword)
++wl[nc];
int k=0;
if(k<nc)
while(k!='->')
k++;
while((wl[k++]==t[j++])!='\0')
;
// printf(" masza tabelka %d",t[j]);
}else

nc=0;


}
else if(state==OUT)
{
state=IN; //poczatek słowa
nc=1;
}
else //wewnątrz słowa
++nc;
}


}
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Madras
Omylny Admin



Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów

Skąd: Z Pokoju :]

PostWysłany: Pią 18:58, 13 Mar 2009    Temat postu:

Cytat:
Niestety nie wiem jak z tego skorzystać

[link widoczny dla zalogowanych]

podobno dobra książka

Chyba nie liczysz, że ktoś to zrobi za Ciebie?


Ostatnio zmieniony przez Madras dnia Pią 18:59, 13 Mar 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Informatyka Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin