TÓPICO
Runtime Error ajuda por favor
Notprof perguntou 3 years ago
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Arquivo { // Anlisar a estrurua do email
char E_Valid[100];
struct Arquivo * esqurda;
struct Arquivo * direita;
}
Arquivo;
int resposta;
void Transporte(char * );
Arquivo * push(Arquivo * , char * );
int main() { // Recebe os dados de entrada
int E_QTD = 0, i;
char E_Nome[100], E_Prov[100];
char Arroba[2] = {'@','\0'};
Arquivo * Resolucao=NULL;
scanf("%d", & E_QTD);
for (i = 1; i <= E_QTD; i++) {// quantidade de email para ser lido
scanf(" %[^Arroba]%s", E_Nome, E_Prov);
Transporte(E_Nome);
strcat(E_Nome, E_Prov);
Resolucao = push(Resolucao, E_Nome);
}
printf("%d\n", resposta);
return 0;
}
void Transporte(char * Analise){ // Função que analisa os " . + "
int i, j=0, h;
char aux[100];
for (i = 0; i < Analise[i]; i++) {
if (Analise[i] != '.')
aux[j++] = Analise[i];
}
for (j = 0; j < aux[j]; j++) {
if (aux[j] == '+') {
aux[j] = 0;
} else
for (h = 0; h < aux[h]; h++) {
Analise[i++] = aux[h++];
Analise[i] = 0;
}
}
}
Arquivo* push(Arquivo* Resolucao, char * Analise) {
if (!Resolucao) { // verificar se os ladoes são iguais
Resolucao = (Arquivo * ) malloc(sizeof(Arquivo));
Resolucao -> esqurda =Resolucao -> direita = NULL;
strcpy(Resolucao -> E_Valid, Analise);
resposta++;
}
else if (strcmp(Resolucao -> E_Valid, Analise) > 0)
Resolucao -> esqurda = push(Resolucao -> esqurda, Analise);
else if (strcmp(Resolucao -> E_Valid, Analise) < 0)
Resolucao -> direita = push(Resolucao -> direita, Analise);
return Resolucao;
}
Este tópico ainda não foi respondido. Seja o primeiro!