Random chars

Status
Niet open voor verdere reacties.

zuigje

Gebruiker
Lid geworden
6 jan 2008
Berichten
5
hallo,
ik moet een programmatje schrijven dat 5 chars random op het scherm toont,
maar de chars kies ik zelf, ze moeten gewoon elke keer random op het scherm getoont worden. heb de thread al gelezen ivm random chars maar vind het toch niet!iemand die mij op weg kan helpen?
thx
 
Bedoel je dat ze op een random plek in de console window komen?
 
ja, ik moet gewoon 5 specifieke chars random late generate en printen, en dan herhaald zodat er een mooie tabel komt van de 5 chars, herhaald op het scherm. hoop dat je me begrijpt :)
ik wil dus niet dat er allemaal chars van A-Z worden geprint, maar de 5 chars die ik zelf gekozen heb
 
Laatst bewerkt:
Hmm als je bedoelt wat ik denk dat je bedoelt :P:

Code:
Array met jouw 5 specifieke karakters
Voor (vul hier hoogte van tabel in) keer, doe het volgende:
    Voor (vul hier de breedte van tabel in) keer, doe het volgende:
        Een willekeurig getal tussen 0 en 4
        Schrijf mbv het willekeurig getal een karakter uit de array naar het scherm
    Nieuwe regel

Probeer dit in code op te schrijven, als het je niet lukt moet je het zeggen ^^.
 
Laatst bewerkt:
Code:
char letter;
int i=0;
int random_int;
int index;

clrscr();
printf("--------------------\n");
srand((unsigned)time(0));
 for (i=0;i<10;i++){

for(index=0; index<10; index++){
random_int = (rand()%5)+1;

switch (random_int){
	case 1: 
	case 2: l
	case 3: 
	case 4
	case 5: l
	default: printf("fout");
exit(1);

 }

		printf(" %c",letter);

}
		printf("\n");

}
		printf("--------------------");



}
het is nu wle in c-code maar dat is niet zo veel verschil. had het eerst zo geprobeerd, maar dan kon ik er niet mee doen wat ik wou... was dit wat je bedoelde?
 
Laatst bewerkt:
Dat is inderdaad een oplossing ^^. Maar vergeet niet de breaks na elke case.
Code:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main()
{
  char letter;
  int  i = 0;
  int  random_int;
  int  index;

  printf("--------------------\n");
  srand((unsigned)time(0));
  for (i = 0; i < 10; i++){
    for(index = 0; index < 10; index++){
      random_int = (rand() % 5) + 1;

      switch (random_int){
        case 1: printf("a"); break;
        case 2: printf("b"); break;
        case 3: printf("c"); break;
        case 4: printf("d"); break;
        case 5: printf("e"); break;
        default: printf("fout");
        exit(1);
      }

      printf("%c",letter);
    }
    printf("\n");
  }
  printf("--------------------\n");
  
  system("pause");
  
  return 0;
}

Dit is wat ik zelf in gedachten had:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
  srand(time(0)); // seed
  
  // je maakt een array voor jouw 5 specifieke karakters
  char array[5] = { 'a', 'b', 'c', 'd', 'e' };
  
  const unsigned int tabelHoogte  = 6; // hoogte tabel
  const unsigned int tabelBreedte = 8; // breedte tabel
  unsigned int          index           = 0; // index voor de array
  for (int i = 0; i < tabelHoogte; i++) { // voor (tabelHoogte) keer
    for (int j = 0; j < tabelBreedte; j++) { // voor (tabelBreedte) keer
      index = rand() % 5; // willekeurig getal tussen 0 en 4
      printf("%c", array[index]); // schrijf willekeurig een van de karakters naar het scherm
    }
    printf("\n"); // nieuwe regel
  }
  
  printf("\n");
  
  system("pause"); // hou het scherm nog even open
  
  return 0;
}

PS: Zet je code tussen de [ CODE] [ /CODE] tags ^^.
 
Laatst bewerkt:
hartelijk bedankt, je hebt me zeer goed geholpen!
moest ik nog een vraag hebben dan maak ik een nieuwe vraag!
nogmaal smerci
 
:)
toch misschien nog een klein bijvraagje...
Als ik er voor moet zorgen om te checken of er 3 dezelfde chars naast elkaar staan, en moest dit het geval zijn, ze dan te vervangen met een ander char, hoe kan ik hier het beste aan beginnen, want heb er compleet geen idee van.
dacht mss aan:
if a==b&&b==c
of zoiets in de aard:p
 
:)
toch misschien nog een klein bijvraagje...
Als ik er voor moet zorgen om te checken of er 3 dezelfde chars naast elkaar staan, en moest dit het geval zijn, ze dan te vervangen met een ander char, hoe kan ik hier het beste aan beginnen, want heb er compleet geen idee van.
dacht mss aan:
if a==b&&b==c
of zoiets in de aard:p

In het voorbeeld van Arjan wordt er niks bewaard, en valt er dus ook niks te controleren. Als je eerst een controle wilt uitvoeren voordat je de karakters print, dan zul je ze dus moeten opslaan om te kunnen controleren.

Verder kun je inderdaad 'if(a==b&&b==c)' gebruiken om te controleren of de karakters gelijk zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan