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!

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.