Manoel Medeiros Posted April 17, 2012 Report Share Posted April 17, 2012 Boa noite,Pessoal estou com com 2 problemas no código a que me refiro, o primeiro é sobre a ordenação, preciso organizar o vetor que ele resulta em ordem alfabética e o outro e que eu preciso ler a partir de um arquivo txt. Código a seguir.Estou online caso possam me ajudar.#include <stdio.h> #include <stdlib.h> #include <string.h> struct sequencia{ char *seq; }; char *subString (char *str, int inicio, int fim) { if (fim > strlen (str) || fim < inicio){ return NULL; } //char *auxPad = strdup (str); char *auxPad = malloc(sizeof(char)*(fim-inicio+2)); int i; for (i = inicio; i <= fim; i++) { auxPad [i - inicio] = str[i]; //printf ("%c", str[i]); } auxPad[i-inicio] = ''; return auxPad; } void detectaPadrao(char **vetPadrao, char *padrão, int qtd){ int cont = 0, contVet = 0; int achou = 0; int qtdPadrao = 0, qtdSequencia = 0, sobra = 0, auxQtdPadrao = 0; char* aux; char* auxPadrao; char* contChar; char* auxComparacao; //char auxAux[]; char teste[100]; for(cont = 0; cont < qtd; cont++){ achou = 0; aux = vetPadrao[cont]; //auxPadrao = malloc(sizeof(char)* (int) strlen(aux)); qtdPadrao = strlen(aux); qtdSequencia = strlen(padrão); auxQtdPadrao = qtdPadrao; for(contVet = 0; padrão[contVet] != ''; contVet++){ sobra = qtdSequencia - (contVet); if(sobra < qtdPadrao){ break; } auxComparacao = subString (padrão, contVet, (auxQtdPadrao-1)); if(!strcmp(aux, auxComparacao)){ if(achou == 0){ strcat(teste, aux); } achou = 1; contChar = malloc(sizeof(char)*(int)strlen(contChar)); itoa(contVet, contChar, 10); strcat(teste, " "); strcat(teste, contChar); } auxQtdPadrao+=1; } strcat(teste, " "); } printf("%s", teste); } int main() { int qtd = 0, cont = 0, tamanho = 0, qtdTotal = 0; char *padrão; char **vetPadrao; //printf("\nEntre com quantidade de padrão: "); scanf("%d", &qtd); fflush(stdin); vetPadrao = malloc(sizeof(char) * qtd ); for(cont = 0; cont < qtd; cont++){ //printf("\nEntre com o tamanho do %d padrão:", cont+1); scanf("%d", &tamanho); fflush(stdin); qtdTotal += tamanho + 1; padrão = malloc(sizeof(char)* (tamanho + 1)); if(padrão == NULL){ printf("\nERRO!"); exit(-1); } //printf("\nEntre com o %d padrão:", cont+1); scanf("%s", padrão); vetPadrao[cont] = padrão; } //printf("\nEntre com o tamanho da sequencia:"); scanf("%d", &tamanho); padrão = malloc(sizeof(char)*tamanho); //printf("\nEntre com a sequencia:", cont+1); scanf("%s", padrão); detectaPadrao(vetPadrao, padrão, qtd); //qsort(p, qtd, sizeof(Pilha), comparaPadrao); return 0; } Quote Link to comment Share on other sites More sharing options...
Question
Manoel Medeiros
Boa noite,
Pessoal estou com com 2 problemas no código a que me refiro, o primeiro é sobre a ordenação, preciso organizar o vetor que ele resulta em ordem alfabética e o outro e que eu preciso ler a partir de um arquivo txt.
Código a seguir.
Estou online caso possam me ajudar.
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.