Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Vi potrà sembrare veramente stupido, ma...
... io veramente non ho ben capito cosa mi volete dire;
mi avete consigliato di usare le funzione per copiare e concatenare le stringhe, però non posso agire in quel modo, perchè nel programma che devo fare non posso sapere a priore dove si trovi il carattere da sostituire.
Vuol dire che io non posso dirli direttamente: copia i primi tot caratteri qui, e concatena tot caratteri qua;
allora, il fatto è questo: io sto cercando di fare l'algoritmo di skolemizzazione (se non sapete qual è, guardate su wikipedia, che è fatto molto bene, ma ricordatevi che dei 4 punti che ci sono io devo fare solo il punto 3 e il punto 4).
Fino a pochi giorni fa, riuscivo ad andare avanti con il mio progetto, ma adesso sono arrivato ad un punto ceco... ho il blocco dello scrittore
io sono riuscito a fare il caso in cui un quantificatore esistenziale preceda un quantificatore universale, e fin qui non ho problemi, ho gia fatto tutto.
Il problemo c'è l'ho quando un quantificatore universale precede un quantificatore esistenziale, perchè in questo caso devo andare a sostituire tutte le occorrenze di un certo carattere con la stringa f(x) (dentro alle parentesi ci potrebbero essere anche due variabili).
Io avevo pensato e sono mezzo riuscito a farlo, con una serie di istruzioni del tipo: v[i+1] = '('; v[i+2] = 'nuovavariabile'; v[i+3]= ')'
Teoricamente funziona, però solo nel caso la variabile che devo sostituire sia l'ultima
in caso contrario, mi stampa si il vettore, ma perdendo dei pezzi.
Ciao , ho visto l'algoritmo e non lo capito , mi sembra anche un po complicato
comunque se il tuo scopo , è inserire una particolare stringa in una posizione
di un array , la soluzione è sempre di usare array multidimensionali di char
l'uso per i singoli caratteri è un po fastidioso , rispetto ad un normale array di
char , ma ti permette di fare quello che chiedi .
ti posto un esempio di uso matrice con singoli caratteri e con stringhe
se lo guardi un po non è complicatissimo il loro uso
Codice sorgente - presumibilmente C++
#include <stdio.h>
#include <stdlib.h>
#define numero_stringhe 100
int main(int argc, char*argv[])
{
int i,j;
char stringa[100];
char matrix[numero_stringhe][20];
//creo posto per 100 stringhe da 20 caratteri
//chiedo in ingresso una stringa
puts("inserisci al massimo 100 caratteri");
gets(stringa);
//con l'uso di strncpy divido la stinga
// in stringhe di un carattere
// e le inserisco in matrix
for(i=0;stringa[i]!=0;i++)
{
strncpy(matrix[i],stringa+i,1);
matrix[i][1]=0;
}
for(j=0;j<i;j++)
printf("%s\n",matrix[j]);//stampo la matrice
//se la stringa 2 è uguale a c
// la sostituisco con la stringa f(x)
if(strcmp(matrix[2],"c")==0)
{
strcpy( matrix[2],"f(x)");//sostituisco un "carattere" con una stringa