Oppure

Loading
12/02/10 17:02
ritita
ragaaaaaa..ho bisogno della function in c++ ke definisca il numero di occorrenze di consonanti(in ordine crescente) in un testo e lo visualizzi in un array di char..HELP VI PREGO..ho l'esame a breveeee..
io incollo la function delle occorrenze con una data chiave ma..come posso modificarlo x trasformarlo in quello ke mi serve?? HELP ME!!

/*function x calcolo occorrenze
int caratt (char testo[],char chiave[])
{
int m,conta=0,i;
m=strlen(testo);
conta =0;
for (i=0;i<m;i++)
{
    if (testo[i]==chiave[i])
    conta++;
}	
	return conta;
}
aaa
12/02/10 17:25
nessuno
Ma che senso ha darti un codice pronto per un esame al quale non saprai cosa fare ?

Andiamo ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/02/10 17:46
ritita
gentile!!io nn volevo il codice fatto..volevo capire come modificarlo..
ho provato a fare così..sapresti dirmi se è giusto o no??

void ordina_cons (int contcons[], char cons[], int m) 
{
    int i,j;
    int el_da_ins;
    char el_da_ins1;
	for(i=1;i<m;i++)
	{
		el_da_ins=contcons[i]; 
		el_da_ins1=cons[i]; 
		j=i-1;
		while(j>=0 && el_da_ins<contcons[j])
		{
			contcons[j+1]=contcons[j];
			cons[j+1]=cons[j]; 
			j--;
		}
		contcons[j+1]=el_da_ins;
		cons[j+1]=el_da_ins1;
	}
}

aaa
12/02/10 18:06
nessuno
Non c'entra la gentilezza ... era una considerazione realistica ...

Il codice che hai proposto, lo hai provato?

Cosa rappresentano i parametri?

Quali valori passi quando chiami la funzione?

Cosa succede quando lo esegui ?

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/02/10 18:09
Poggi Marco
Ciao!
Tu hai scritto:

Postato originariamente da ritita:

ragaaaaaa..ho bisogno della function in c++ ke definisca il numero di occorrenze di consonanti(in ordine crescente) in un testo e lo visualizzi in un array di char..HELP VI PREGO..ho l'esame a breveeee..
io incollo la function delle occorrenze con una data chiave ma..come posso modificarlo x trasformarlo in quello ke mi serve?? HELP ME!!


Con questo cosa intendi?
Vuoi tigliere le vocali da una stringa, o elencare le consonanti presenti, con le rispettive frequenze, ordinate in modo crescente?
aaa
12/02/10 18:09
ritita
nn l'ho trovato!!ho preso l'algoritmo d'ordinamento ke avevo e l'ho modificato..
poi nel main ho dikiarato un array1D di char dove ho inserito tutte le consonanti e quando kiamo la funzione, me la visualizza così

printf("%c=%d ", cons[i],contcons[i]);
aaa
12/02/10 19:37
HeDo
imo th useless
aaa
13/02/10 14:18
ritita
allora..quella function,fa parte di un progetto universitario quasi finito..mi manca solo una parte
"creare l’algoritmo che visualizza, in ordine alfabetico, tutte le
parole che compaiono nel testo e che iniziano con le prime 5 consonanti più
frequenti.
"

come faccio ad ultimarlo??inserisco il programma fino a dove l'ho svolto

#include <stdio.h>
#include <string.h>
void ricerca_cons(char testo[], char cons[], int m, int contcons[]);
int pangramma (int contcons[], int n);
void ordina_cons (int contcons[], char cons[], int m);

int main ()
{
	char testo[80]; //Array per l'inserimento del testo.
	char cons[] = {'b','c','d','f','g','h','l','m','n','p','q','r','s','t','v','z'}; //Array delle consonanti.
	int contcons[16]; //Array per il conteggio delle consonanti.
	int i,pan;
	puts("Inserisci testo da analizzare:");
	gets(testo);
	for (i=0; i<16; i++) //Azzero l'array per il conteggio delle consonanti.
    {
		contcons[i] = 0;
	}
	ricerca_cons(testo, cons, 16, contcons); //Chiamo la funzione.
	for (i=0; i<16; i++) 
    {
		printf("La lettera %c e' presente %d volte\n", cons[i], contcons[i]); //Stampo il risultato.
	}
	ordina_cons (contcons, cons, 16); //Chiamo la funzione.
    printf("\nConsonanti in ordine crescente:\n");
    for (i=0; i<16; i++) 
    {
		printf("%c = %d\n", cons[i],contcons[i]); //Stampo il risultato.
	}
	pan = pangramma (contcons, 16); //Assegno alla variabile 'pan' la funzione.
    if (pan==1)
       printf("\nIl testo non e' un pangramma di consonanti.\n");
    else if (pan!=1)
       printf("\nIl testo e' un pangramma di consonanti.\n"); 
       
    return 0;
}


void ricerca_cons(char testo[], char cons[], int m, int contcons[]) //Funzione per il conteggio delle consonanti.
{
        int n, i, j;
        n = strlen(testo); //Assegno alla veriabile 'n' la lunghezza del mio testo.
	for (i=0; i<n; i++) //Questo ciclo for mi scorre lettera per lettera tutto il testo.
    {
		for (j=0; j<m; j++) //Questo ciclo for mi scorre lettera per lettera tutte le consonanti.
        {
			if (cons[j] == testo[i]) //Se la j-sima lettera dell'array 'cons' è uguale alla i-sima lettera dell'array 'testo'..
            {
                		contcons[j]++; //..incremento l'array 'contcons' di 1 alla j-sima posizione.
			}
		}
	}
}



int pangramma (int contcons[], int n) //Funzione per verificare se il testo è un pangramma di consonanti.
{
    int i;
    for (i=0; i<n; i++) //Questo ciclo for mi scorre l'array 'contcons'.
    {
        if (contcons[i]==0) //Se la i-sima posizione dell'array è uguale a 0..
           return 1; //..la funzione restituisce 1 e arresta il funzionamento.
    }
    return 0;
}



void ordina_cons (int contcons[], char cons[], int m) //Funzione per ordinamento delle consonanti in ordine crescente.
{
    int i,j;
    int el_da_ins;
    char el_da_ins1;
	for(i=1;i<m;i++)
	{
		el_da_ins=contcons[i]; //Assegno alla variabile 'el_da_ins' l'i-simo valore dell'array 'contcons'.
		el_da_ins1=cons[i]; ////Assegno alla variabile 'el_da_ins1' l'i-simo valore dell'array 'cons'.
		j=i-1;
		while(j>=0 && el_da_ins<contcons[j])
		{
			contcons[j+1]=contcons[j]; //Assegno il valore della j-sima posizione alla j-sima posizione + 1.
			cons[j+1]=cons[j]; //Applico la stessa operazione all'array 'cons'. 
			j--;
		}
		contcons[j+1]=el_da_ins;
		cons[j+1]=el_da_ins1;
	}
}
aaa