|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
algebr
[świeżak]
Dołączył: 07 Mar 2009
Posty: 2
Przeczytał: 0 tematów
|
Wysł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 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 :]
|
Wysł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 poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
algebr
[świeżak]
Dołączył: 07 Mar 2009
Posty: 2
Przeczytał: 0 tematów
|
Wysł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 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 :]
|
Wysł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 |
|
|
|
|
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
|