Sei sulla pagina 1di 2

Nesta unidade, você praticou os conceitos de programação vistos ao longo da disciplina

com a criação de um programa que encontra todas as ocorrências de um caractere em


uma string. Agora, crie um programa em C semelhante que, a partir do nome completo
de uma pessoa, informe ao usuário o último sobrenome.
Recomenda-se que você primeiro encontre em qual índice inicia o último sobrenome e
em qual índice ele termina. Para saber em qual índice o último sobrenome termina,
talvez seja útil saber o tamanho do array. Sabendo esses índices, crie um novo array e
copie o conteúdo de um array para o outro, iniciando no índice inicial e indo até o
índice final do sobrenome. Por fim, mostre o último sobrenome ao usuário.
Seu programa deve cumprir alguns requisitos:
 · o nome completo deve ser específico, como a variável nome do programa visto
nesta unidade. Inclusive, você pode usar o mesmo valor para a variável;
· o último sobrenome deve ser guardado em outra variável. No fim do código da
função main, uma chamada à função printfdeve informar ao usuário esse sobrenome;
· o código responsável por copiar o último sobrenome para outra string deve ficar
numa nova função, não na main.
Por exemplo, na string "Maria da Silva", o programa informaria ao usuário como dado
de saída a string "Silva".

Dica: reutilize as funções acha_indices e tamanho vistas nesta unidade. Elas não
precisam sofrer nenhuma alteração para serem usadas no seu programa.
Releia as unidades sobre manipulação de literais e uso de funções se tiver dúvidas.

Resposta:

#include <stdio.h>
#include <stdlib.h>

void find_indices(int pos[], char string[], char carac)


{
int indice, pos_indice;
indice = 0;
pos_indice = 0;
while (string[indice] != '\0'){
if (string[indice] == carac){
pos[pos_indice] = indice;
pos_indice = pos_indice + 1;
}
indice = indice + 1;
}
pos[pos_indice] = -1;
}
int main(void)
{
int indice;
char nome[] = "Maria da Silva";
char espaco_branco = ' ';
int pos[30];
find_indices(pos,nome,espaco_branco);
indice = 0;
while(pos[indice] != -1){
printf("caractere localizado no indice %d \n", pos[indice]);
indice = indice + 1;
int tamanho(char string[])
{
int indice = 0;
while(string[indice] != '\0') {
indice = indice + 1;
}
return indice;
}
int main(void)
{
char nome[] = "Maria da Silva";
printf("Tamanho da string: %d \n", tamanho(nome));
}
system("pause");
return 0;
}

Potrebbero piacerti anche