Академический Документы
Профессиональный Документы
Культура Документы
CÓDIGO: 21090
CURSO: Informática
Página 1 de 14
TRABALHO / RESOLUÇÃO:
TRABALHO / RESOLUÇÃO:
Alínea A
Na alínea A, optei por fazer a alocação dinâmica, para isso criar uma declaração
de variáveis do tipo e passagem de estruturas para funções. Verifiquei se a string
introduzida não está vazia, e se não estiver realizar a funcão que coloca as
strings por ordem contrária à introduzida e adiciona à Lista. É por fim imprimida
a Lista.
Alínea B
O que consegui fazer: Verificar se o primeiro caráter é letra e caso seja adicionar
à Lista, esta que agora coloca as strings por ordem alfabética. Por fim imprimir a
Lista
Não consegui fazer: Após a leitura de uma string com o primeiro caráter letra,
efetuar a contagem de quantas linhas existem que começam com o primeiro
caráter nº até chegar a uma string com o primeiro caráter letra. Somar as linhas
e transformar em string. Unir as duas strings (ex: Produto A #2) e adicionar à
lista por ordem alfabética.
Nesta alínea e na seguinte não efectuei os test case devido a não ter conseguido
concluir o código (no HR também não passou nos test case). Iria aproveitar os
test case da alinea A, adicionando datas e preços/valores para que consegui-se
depois aproveitar também para todas as alíenas seguintes.
Alínea C
Página 2 de 14
Após a alínea B efetuada, retirar a contagem das linhas das strings das datas,
enviar estas para a função que organiza as strings. Organizando por strings
começadas por letra e dentro destas organizar as datas.
Alínea D---
Página 3 de 14
Anexos
TEST CASES
Alínea A
Açúcar Produtos:
Sal
Arroz - Arroz;
Feijão - Açúcar;
Farinha
- Café;
Macarrão
Café - Carnes;
Leite - Farinha;
Óleo
Temperos - Feijão;
Test Case 1 Molho de tomate - Fermento;
Queijo ralado
- Leite;
Ovos
Fermento - Macarrão;
Pães - Molho de tomate;
Carnes
- Ovos;
- Pães;
- Queijo ralado;
- Sal;
Página 4 de 14
- Temperos;
México Produtos:
Cuba
Menorca - Cuba;
Las Palmas - Las Palmas;
Test Case 3 - Menorca;
- México;
Página 5 de 14
stdlib.h Produtos:
atoi
atof - atof;
atol - atoi;
itoa
Test Case 4 - atol;
- itoa;
- stdlib.h;
Hotot Produtos:
Castor Rex
Test Case 6 Leão - Tan;
Belier - Gigante de Flandres;
Angorá inglês
- Coelho toy ou anão;
Coelho toy ou anão
Página 6 de 14
Gigante de Flandres - Angorá inglês;
Tan - Belier;
- Leão;
- Castor Rex;
- Hotot;
Página 7 de 14
World of Warcraft - Hearthstone: Heroes of Warcraft;
- League of Legends;
Página 8 de 14
CÓDIGOS
Nota: Os códigos aqui colocados são iguais ao do hackerrank (estes não têm os #include, unsigned,etc)
Alínea A
{ char *nomes;
}Produtos;
if (Tmp != NULL)
strcpy(Tmp->nomes, NOME);
Tmp->Prox = lista;
return Tmp;
/********************imprimir**********************/
Página 9 de 14
while(lista != NULL)
printf("- %s;\n",lista->nomes);
lista = lista->Prox;
main()
char str[MAXSTR];
Produtos *lista=NULL;
while(fgets(str,MAXSTR,stdin) != NULL)
strtok(str,"\n");
lista = Adic(lista,str);
printf("Produtos: \n");
Print(lista);
Alínea B e C
struct Produtos {
Página 10 de 14
char *str;
};
p->str = strdup(data);
p->Prox = list;
return p;
} else
q = list;
q = q->Prox;
Página 11 de 14
p->Prox = q->Prox;
q->Prox = p;
return list;
while(list != NULL) {
p = list->Prox;
free(list);
list = p;
int main()
char line[MAXSTR];
Página 12 de 14
int contar=0;
/*char nomes[MAXSTR];
char preco[MAXSTR];
char tamanho[MAXSTR];*/
printf("Produtos:\n");
list = NULL;
if ((line[0] >= 'a' && line[0] <= 'z') || (line[0] >= 'A' && line[0] <= 'Z'))
strtok(line,"\n");
{ contar++;
sprintf(line,"%d",contar);*/
Print(list);
Apag(list);
return 0;
Página 13 de 14
Página 14 de 14