Ir ao conteúdo

Posts recomendados

Postado

olá galera é o seguinte eu sou iniciante estou precisnado fazer algo muito difícil quase impossível me ajudem por favor

1º criar uma função armazenar 10 nomes em um vetor

2º armazenar nomes que já são conhecidos em um vetor[x]

 

 3º  passar os nomes do vetor i para o vetor j

for (i=0;i<10;i++)

printf (nomes);//aqui vai mostrar 10 nomes diferentes

strcat (vetor[j],nomes)//aqui meu vetor j pegou todos nomes do vetor i

 

  4ºagora preciso retornar o vetor j com os nomes

contador também precisa retornar

return vetor[j];

return i;

 

5º agora imprimir veotr [j] no corpo principal com uma restrição que se o nome já for conhecido ele ignora não imprimindo

 

se alguém souber como escrever isso dá um exemplo porque eu não sei nem como começar

  • Obrigado 1
Postado

@Mayrinck Bernardo     armazenar nomes em um vetor , então precisa ser um vetor char ,

char nomes[10][20];/* vetor de char com dez posições de 20 caracteres cada sendo o último o \0*/

que seja criado dentro da função main e chama a função para preencher o vetor ,  enviando o nome desse vetor ,

armazenar(nomes);/* função armazenar e o vetor enviado por parâmetro */

e lá na função pegue os nomes e armazene no vetor usando scanf .  e voltando dentro da main você pode pegar os dados armazenados e até modifica-los .

Postado
4 horas atrás, Mayrinck Bernardo disse:

fazer algo muito difícil quase impossível

 

Wow no tópico você já disse que era complicado e no primeiro parágrafo já ficou "quase impossível" e "muito difícil"...

 

Citação

armazenar nomes que já são conhecidos em um vetor[x]

 

Que significa?  Como os nomes ficam conhecidos? É apenas a entrada?

  • Curtir 1
Postado

 esse vetor x nao vai entrar na funcao ele vai ler nomes dos parentes mais proximos e depois vai ter que comparar com os nomes eo vetor retornado se for parente proximo nao precisa mostrar ignora.

adicionado 0 minutos depois

@devair1010 ta to estudando e logo posto minha tentativa

adicionado 0 minutos depois

@arfneto

  • Curtir 1
Postado
22 minutos atrás, Mayrinck Bernardo disse:

Os nomes conhecidos sao os nomes dos parentes mais proximos .eu nao sei fazer nome de topico ja apagaram varias por causa disso

 

Então você pode implementar essa relação de "conhecidos"como achar melhor? Como pretende fazer? um menu?

 

E o que são os vetores i e j?

 

Quanto melhor você qualificar as coisas fica mais fácil para você escrever a solução e mesmo  para conseguir uma ajuda objetiva de alguém.

 

Mas qual a dificuldade em relação ao nome do tópico? Porque apagaram? Eu na verdade não sei como funciona. Vou ver lá

  • Curtir 1
  • Obrigado 1
Postado

@arfneto @devair1010 éisso que eu preciso mas não compila

#include <stdio.h>
#include <string.>
char nomes[10][20];

	void festa(i){
		printf ("digite o nome de quem compareceu na festa");/
	for (i=0;i<10;i++){
		scanf("%s",nomes[i])
		nomes[j]=nomes[i];
	}
	return nomes[j];
}
int main(){
	int i,j,x;
	printf ("digite o nome dos parentes mais proximos");/
	for (x=0;x<10;x++){
		scanf("%s",nomes[x]);
	}
	festa();
	do{
		printf(nomes[j]);
	}(while nome[x]!=nome[j])//se for parente proximo não mostrar

}

 

  • Obrigado 1
Postado

@Mayrinck Bernardo    ajeitei para rodar , mas não está fazendo nada  :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char nomes[10][20];
char festa(int i){
    int j=0;
    printf("digite o nome de quem compareceu na festa");
    for(i=0;i<10;i++){
        scanf("%s",nomes[i]);
        strcpy(nomes[j],nomes[i]);
    }
    return (int)nomes[j];
}
int main(){
    int i,j,x;
    printf ("digite o nome dos parentes mais proximos");
    for (x=0;x<10;x++){
        scanf("%s",nomes[x]);
    }
    festa( i );
    do{
        printf(nomes[j]);
    }while( nomes[x] != nomes[j]);//se for parente proximo não mostrar
}

 

  • Triste 1
Postado
3 horas atrás, Mayrinck Bernardo disse:

@arfneto @devair1010 éisso que eu preciso mas não compila

 

 

Acho que entendi o que quer fazer, apesar de você não ter feito o mais simples e explicado em português.

 

Você quer: 

  • ler uma lista dos parentes mais próximos
  • ler uma lista de quem veio pra festa
  • e mostrar quem veio exceto os parentes mais próximos, que de repente viriam de qualquer jeito mesmo :D só porque é de graça

É isso?

 

Está um pouco longe de funcionar. Um problema conceitual está aqui

25378394_problema1.png.88ebe42cd876e88a0a06f779fe33637e.png

 

void festa() não retorna nada. Isso é o que significa void. Se você queria retornar um char[20] que seria o caso de nomes[j] que é global devia ter declarado 

char* festa();

Mas não é uma boa ideia. Variáveis assim globais são uma m$%Da sempre.

Sugiro declarar vetores

char quem_veio[10[20];
char parentes[10][20];

 

E uma função tipo

lista_nao_parentes( char todos[][], char parentes[][]);

Que faz o que você precisa. Entende a diferença? Claro, supondo que EU tenha entendido o que você quer fazer.

 

Nessa função você pega o vetor dos caras que vieram, todos, e compara com os caras que estão em parentes e cada um que não está lá você mostra. Bem mais simples e pode testar com vários conjuntos de todos e de parentes. Basta mudar o nome. Por essa razão já tem um exemplo do porque não usar essas variáveis globais se pode evitar.

 

 

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!