EMBARALHANDO PALAVRAS

1. EMBARALHANDO PALAVRAS

filipe barbosa
filipebebar

(usa Outra)

Enviado em 29/05/2016 - 01:11h

Olá bom dia, estou tendo dificuldades para embaralhar um frase em uma struct , primeiro para esse struct já conter está frase pré definida, e segunda em embaralha-lá usando o rand, se alguém puder ajudar , ou explicar, agradeceria.

(Obs. é apenas um pedaço do programa)

void autor1()
{
srand(time(NULL));
struct Autor1 autor1[4];
int i;

autor1[0].nome =

for(i=0;i<5;i++)
{
i = rand()%4;
printf("%s ",autor1[i].nome);

}

return;

}


  


2. Re: EMBARALHANDO PALAVRAS

Ronaldo Ferreira de Lima
textmode

(usa Slackware)

Enviado em 30/05/2016 - 21:29h

filipebebar escreveu:

Olá bom dia, estou tendo dificuldades para embaralhar um frase em uma struct , primeiro para esse struct já conter está frase pré definida, e segunda em embaralha-lá usando o rand, se alguém puder ajudar , ou explicar, agradeceria.

(Obs. é apenas um pedaço do programa)

void autor1()
{
srand(time(NULL));
struct Autor1 autor1[4];
int i;

autor1[0].nome =

for(i=0;i<5;i++)
{
i = rand()%4;
printf("%s ",autor1[i].nome);

}

return;

}


Não tenho certeza que consegui entender o que você precisa. Eu acho que é algo mais ou menos assim:


#include<stdio.h>

main() {
int elements = 4;
srand(time(NULL));

char *nome[elements];
int index[elements];
int i, j;
int r;
int exists;

nome[0] = "embaralhar";
nome[1] = "palavras";
nome[2] = "em";
nome[3] = "C";

for (i = 0; i < elements; i++) {
exists = 1;
while (exists) {
r = rand() % elements;
for (j = 0; j <= i; j++) {
if (index[j] == r) {
exists = 1;
break;
}
else {
exists = 0;
}
}
}
index[i] = r;
printf("%s\n", nome[r]);
}
}


Em relação ao seu código, fiz modificações apenas para armazenar o índice sorteado com rand.

[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
https://perspicazsite.wordpress.com






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts