Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    100

    Problema sulle stringhe!! Come fare?

    Slave! Mi sto scervellando per risolvere quetso problema.
    Sevo leggere due stringhe S e T e devo determinare il numero di volte e le posizioni in cui S è contenuta in t.
    Qualcuno mi sa dire come cavovolo si fa?
    L'algoritmo?
    IL LINGUAGGIO è IL C!

  2. #2
    Non è poi cosi' difficile

    codice:
    #include <string.h>
    #include <stdio.h>
    
    int main()
    {
    	char * t = 
       "Devi rapare i rapanelli prima che il sole tramontera' sopra la crapa\n";
    	char * s = "ra";
    
    	int nocc=0;
    
    	char * p = t;
    	while(p = strstr(p,s), p!= NULL)
    	{
    		++nocc;
    		printf("Occorrenza all'offset %d\n",p-t);
    		++p;
    	}
    	printf("Trovate %d occorrenze",nocc);
    
    	return 0;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    100
    Grazie per la risposta.
    Solo che io lo dovrei fare senza funzioni di libreria, oppure le devo fare io delle funzioni.

  4. #4
    Ok, ma se l'esercizio lo faccio io che lo so già fare non è molto utile, non trovi???

    codice:
    char * mystrstr(char*str, char* set)
    {
    	char * set_base = set;
    	char * str_base = str;
    	
    	if(str==NULL || set == NULL || *str == '\0' | *set=='\0')
    		return NULL;
    
    	
    	while(*str_base!='\0' && *set_base != '\0')
    	{		
    		if(*str_base == *set_base)		
    		{
    			++set_base;
    			++str_base;
    		}	
    		else	
    		{
    			set_base = set;		
    			str_base = ++str;
    		}
    	}
    	return *set_base=='\0' ? str : NULL;
    	
    }
    usa questa al posto della libreria strstr.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    100
    Si questo è vero e sono d'accordo con te.
    Ma prorio non riuscivo a trovare una sol.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.