Woord samenvoegen met verschillende characters
10 berichten
• Pagina 1 van 1
Woord samenvoegen met verschillende characters
Ik heb het volgende probleem. Ik maak een random call bestaande uit 3 tot 6 characters. Dus A0A t/m ZZ9ZZZ. Dat doe ik met een random programma. Daar komen dan de random Characters uit. Nou zou ik graag die willen samenvoegen in één woord.
Dus randomCall = ( Charac1, Charac2, numberNumber, Charac3 ). Zodat je dus nog maar één woord hebt. Dat is makkelijker met programmeren. Ik hoop dat iemand weet hoe dat kan.
stringMorseCode[1] = Charac1;
stringMorseCode[2] = Charac2;
stringMorseCode[3] = numberNumber;
stringMorseCode[4] = Charac3;
stringMorseCode[5] = Charac4;
stringMorseCode[6] = Charac5;
dit zou worden randomCall = Charac1 Charac2 numberNumber Charac3 Charac4 Charac5. Dus bv. AA1BBB
Ben benieuwd.
Dus randomCall = ( Charac1, Charac2, numberNumber, Charac3 ). Zodat je dus nog maar één woord hebt. Dat is makkelijker met programmeren. Ik hoop dat iemand weet hoe dat kan.
stringMorseCode[1] = Charac1;
stringMorseCode[2] = Charac2;
stringMorseCode[3] = numberNumber;
stringMorseCode[4] = Charac3;
stringMorseCode[5] = Charac4;
stringMorseCode[6] = Charac5;
dit zou worden randomCall = Charac1 Charac2 numberNumber Charac3 Charac4 Charac5. Dus bv. AA1BBB
Ben benieuwd.
Advertisement
Re: Woord samenvoegen met verschillende characters
Als ik eerst met random zou bepalen hoeveel tekens voor en na het cijfer komen, dan is het niet evenredig verdeeld.
Om het willekeurig en evenredig over alle mogelijkheden te verdelen ben ik aan de slag gegaan met het 26-tallige stelsel.
Dit is typisch een voorbeeld waarvan ik achteraf denk: "dat had ik niet moeten doen".
Volgens mij zit er een fout in. Bij decimalen kan een '0' die ergens voor komt, weggelaten worden. Maar dat is anders bij een 'A'.
Ik geef het hier alleen als grap. Een niet al te beste grap, al zeg ik het zelf
Volgens mij heb ik ook nog je vraag verkeerd begrepen
cpp code
Kun jij een sketch schrijven die controleert of het correct is ? Dan kun je ze een dag laten draaien.
Om het willekeurig en evenredig over alle mogelijkheden te verdelen ben ik aan de slag gegaan met het 26-tallige stelsel.
Dit is typisch een voorbeeld waarvan ik achteraf denk: "dat had ik niet moeten doen".
Volgens mij zit er een fout in. Bij decimalen kan een '0' die ergens voor komt, weggelaten worden. Maar dat is anders bij een 'A'.
Ik geef het hier alleen als grap. Een niet al te beste grap, al zeg ik het zelf
Volgens mij heb ik ook nog je vraag verkeerd begrepen
cpp code
//
// Dit is met wiskunde, met het 26-tallige stelsel.
// Stel A = 0
// dan Z = 25
// daarna komt AA = 26
// AB = 27
// ZZ = 25 * 25
// ZZZ = 25 * 25 * 25
void setup()
{
Serial.begin( 9600);
// Use the noise from the analog inputs,
// to create a different random sequence each
// time the Arduino is started.
// The randomSeed() function takes a 32 bit unsigned long parameter.
// By shifting each value from analogRead() some to the left,
// the analog values are spread over the 32-bits,
// for (in theory) a little more random.
unsigned long noise = 0;
for( int i = A0; i <= A5; i++)
{
noise += analogRead( i);
noise <<= 3; // for a little more random
}
randomSeed( noise);
}
void loop()
{
// De upperbound van de random is not inclusive.
int ervoor = int( random( 0, (25L * 25L) + 1L));
int getal = int( random( 0, 10)); // 0 ... 9
int erna = int( random( 0, (25L * 25L * 25L) + 1L));
char buffer[16];
buffer[0] = '\0';
char append[2];
append[1] = '\0';
if( ervoor > 25)
{
append[0] = (ervoor / 25) + 'A';
strcat( buffer, append);
}
append[0] = (ervoor % 25) + 'A';
strcat( buffer, append);
append[0] = getal + '0';
strcat( buffer, append);
if( erna > (25 * 25))
{
append[0] = (erna / (25 * 25)) + 'A';
strcat( buffer, append);
}
if( erna > 25)
{
append[0] = ((erna / 25) % 25) + 'A';
strcat( buffer, append);
}
append[0] = (erna % 25) + 'A';
strcat( buffer, append);
Serial.println( buffer);
}
Kun jij een sketch schrijven die controleert of het correct is ? Dan kun je ze een dag laten draaien.
Re: Woord samenvoegen met verschillende characters
het kan ook simpel met concatenate concat()
je maakt dan van een aantal characters een string.
wel opletten met de cijfers natuurlijk dus naar het type.
let op de eerste want de spatie staat daar soms zolas bij dus de eerste reeks is van A tot Z en dan AB,AC enz.
je maakt dan van een aantal characters een string.
wel opletten met de cijfers natuurlijk dus naar het type.
let op de eerste want de spatie staat daar soms zolas bij dus de eerste reeks is van A tot Z en dan AB,AC enz.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Woord samenvoegen met verschillende characters
Beide bedankt voor de antwoorden.
Ik zal mijn code, die ik tot nu toe gemaakt heb hier plaatsen.
Ik denk dat Koepel een wat makkelijker manier heeft gegeven om een random call te generen. Daar zal ik vanavond even naar kijken.
En de oplossing van Shooter past beter bij mijn al bestaande code, denk ik. Daar ga ik eerst even naar kijken.
Nogmaals bedankt en wordt vervolgd.
Hier mijn code tot nu toe.
Ik zal mijn code, die ik tot nu toe gemaakt heb hier plaatsen.
Ik denk dat Koepel een wat makkelijker manier heeft gegeven om een random call te generen. Daar zal ik vanavond even naar kijken.
En de oplossing van Shooter past beter bij mijn al bestaande code, denk ik. Daar ga ik eerst even naar kijken.
Nogmaals bedankt en wordt vervolgd.
Hier mijn code tot nu toe.
- Code: Alles selecteren
void random_call() {
prefixNumber = random (1, 3); // 1 of 2 characters in prefix
numberNumber = random (0, 9); // 0 tot 9 number
suffixNumber = random (1, 4); // 1, 2 of 3 characters in suffix
Char1 = random (1, 27);
Char2 = random (1, 27);
Char3 = random (1, 27);
Char4 = random (1, 27);
Char5 = random (1, 27);
switch (Char1) {
case 1:
Charac1 = "A";
break;
case 2:
Charac1 = "B";
break;
case 3:
Charac1 = "C";
break;
case 4:
Charac1 = "D";
break;
case 5:
Charac1 = "E";
case 6:
Charac1 = "F";
break;
case 7:
Charac1 = "G";
break;
case 8:
Charac1 = "H";
break;
case 9:
Charac1 = "I";
break;
case 10:
Charac1 = "J";
break;
case 11:
Charac1 = "K";
break;
case 12:
Charac1 = "L";
break;
case 13:
Charac1 = "M";
break;
case 14:
Charac1 = "N";
break;
case 15:
Charac1 = "O";
break;
case 16:
Charac1 = "P";
break;
case 17:
Charac1 = "Q";
break;
case 18:
Charac1 = "R";
break;
case 19:
Charac1 = "S";
break;
case 20:
Charac1 = "T";
break;
case 21:
Charac1 = "U";
break;
case 22:
Charac1 = "V";
break;
case 23:
Charac1 = "W";
break;
case 24:
Charac1 = "X";
break;
case 25:
Charac1 = "Y";
break;
case 26:
Charac1 = "Z";
break;
}
switch (Char2) {
case 1:
Charac2 = "A";
break;
case 2:
Charac2 = "B";
break;
case 3:
Charac2 = "C";
break;
case 4:
Charac2 = "D";
break;
case 5:
Charac2 = "E";
case 6:
Charac2 = "F";
break;
case 7:
Charac2 = "G";
break;
case 8:
Charac2 = "H";
break;
case 9:
Charac2 = "I";
break;
case 10:
Charac2 = "J";
break;
case 11:
Charac2 = "K";
break;
case 12:
Charac2 = "L";
break;
case 13:
Charac2 = "M";
break;
case 14:
Charac2 = "N";
break;
case 15:
Charac2 = "O";
break;
case 16:
Charac2 = "P";
break;
case 17:
Charac2 = "Q";
break;
case 18:
Charac2 = "R";
break;
case 19:
Charac2 = "S";
break;
case 20:
Charac2 = "T";
break;
case 21:
Charac2 = "U";
break;
case 22:
Charac2 = "V";
break;
case 23:
Charac2 = "W";
break;
case 24:
Charac2 = "X";
break;
case 25:
Charac2 = "Y";
break;
case 26:
Charac2 = "Z";
break;
}
switch (Char3) {
case 1:
Charac3 = "A";
break;
case 2:
Charac3 = "B";
break;
case 3:
Charac3 = "C";
break;
case 4:
Charac3 = "D";
break;
case 5:
Charac3 = "E";
case 6:
Charac3 = "F";
break;
case 7:
Charac3 = "G";
break;
case 8:
Charac3 = "H";
break;
case 9:
Charac3 = "I";
break;
case 10:
Charac3 = "J";
break;
case 11:
Charac3 = "K";
break;
case 12:
Charac3 = "L";
break;
case 13:
Charac3 = "M";
break;
case 14:
Charac3 = "N";
break;
case 15:
Charac3 = "O";
break;
case 16:
Charac3 = "P";
break;
case 17:
Charac3 = "Q";
break;
case 18:
Charac3 = "R";
break;
case 19:
Charac3 = "S";
break;
case 20:
Charac3 = "T";
break;
case 21:
Charac3 = "U";
break;
case 22:
Charac3 = "V";
break;
case 23:
Charac3 = "W";
break;
case 24:
Charac3 = "X";
break;
case 25:
Charac3 = "Y";
break;
case 26:
Charac3 = "Z";
break;
}
switch (Char4) {
case 1:
Charac4 = "A";
break;
case 2:
Charac4 = "B";
break;
case 3:
Charac4 = "C";
break;
case 4:
Charac4 = "D";
break;
case 5:
Charac4 = "E";
case 6:
Charac4 = "F";
break;
case 7:
Charac4 = "G";
break;
case 8:
Charac4 = "H";
break;
case 9:
Charac4 = "I";
break;
case 10:
Charac4 = "J";
break;
case 11:
Charac4 = "K";
break;
case 12:
Charac4 = "L";
break;
case 13:
Charac4 = "M";
break;
case 14:
Charac4 = "N";
break;
case 15:
Charac4 = "O";
break;
case 16:
Charac4 = "P";
break;
case 17:
Charac4 = "Q";
break;
case 18:
Charac4 = "R";
break;
case 19:
Charac4 = "S";
break;
case 20:
Charac4 = "T";
break;
case 21:
Charac4 = "U";
break;
case 22:
Charac4 = "V";
break;
case 23:
Charac4 = "W";
break;
case 24:
Charac4 = "X";
break;
case 25:
Charac4 = "Y";
break;
case 26:
Charac4 = "Z";
break;
}
switch (Char5) {
case 1:
Charac5 = "A";
break;
case 2:
Charac5 = "B";
break;
case 3:
Charac5 = "C";
break;
case 4:
Charac5 = "D";
break;
case 5:
Charac5 = "E";
case 6:
Charac5 = "F";
break;
case 7:
Charac5 = "G";
break;
case 8:
Charac5 = "H";
break;
case 9:
Charac5 = "I";
break;
case 10:
Charac5 = "J";
break;
case 11:
Charac5 = "K";
break;
case 12:
Charac5 = "L";
break;
case 13:
Charac5 = "M";
break;
case 14:
Charac5 = "N";
break;
case 15:
Charac5 = "O";
break;
case 16:
Charac5 = "P";
break;
case 17:
Charac5 = "Q";
break;
case 18:
Charac5 = "R";
break;
case 19:
Charac5 = "S";
break;
case 20:
Charac5 = "T";
break;
case 21:
Charac5 = "U";
break;
case 22:
Charac5 = "V";
break;
case 23:
Charac5 = "W";
break;
case 24:
Charac5 = "X";
break;
case 25:
Charac5 = "Y";
break;
case 26:
Charac5 = "Z";
break;
}
if ( prefixNumber == 1 & suffixNumber == 1 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = numberNumber;
stringMorseCode[3] = Charac2;
}
if ( prefixNumber == 1 & suffixNumber == 2 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = numberNumber;
stringMorseCode[3] = Charac2;
stringMorseCode[4] = Charac3;
}
if ( prefixNumber == 1 & suffixNumber == 3 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = numberNumber;
stringMorseCode[3] = Charac2;
stringMorseCode[4] = Charac3;
stringMorseCode[5] = Charac4;
}
if ( prefixNumber == 2 & suffixNumber == 1 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = Charac2;
stringMorseCode[3] = numberNumber;
stringMorseCode[4] = Charac3;
}
if ( prefixNumber == 2 & suffixNumber == 2 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = Charac2;
stringMorseCode[3] = numberNumber;
stringMorseCode[4] = Charac3;
stringMorseCode[5] = Charac4;
}
if ( prefixNumber == 2 & suffixNumber == 3 ) {
stringMorseCode[1] = Charac1;
stringMorseCode[2] = Charac2;
stringMorseCode[3] = numberNumber;
stringMorseCode[4] = Charac3;
stringMorseCode[5] = Charac4;
stringMorseCode[6] = Charac5;
}
}
Re: Woord samenvoegen met verschillende characters
al die cases kunnen weg hoor.
kijk nmaar eens hoe char werkt.
als je dan de random getallen aanpast bijvoorbeeld A=65.
dus dan wordt het iets in de trant van regel=char(random(65,90)+char(random....... enzovoort.
de getallen hebben ook een ascii code.van 48,57
dan heb je dus in 1 regel je hele verhaal.
kijk nmaar eens hoe char werkt.
als je dan de random getallen aanpast bijvoorbeeld A=65.
dus dan wordt het iets in de trant van regel=char(random(65,90)+char(random....... enzovoort.
de getallen hebben ook een ascii code.van 48,57
dan heb je dus in 1 regel je hele verhaal.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Woord samenvoegen met verschillende characters
shooter schreef:al die cases kunnen weg hoor.
kijk nmaar eens hoe char werkt.
als je dan de random getallen aanpast bijvoorbeeld A=65.
dus dan wordt het iets in de trant van regel=char(random(65,90)+char(random....... enzovoort.
de getallen hebben ook een ascii code.van 48,57
dan heb je dus in 1 regel je hele verhaal.
Bedankt voor de tip. Ik had al een vermoede dat mijn manier erg omslachtig was/is om een random_call te generen.
Ik ga ermee aan de slag.
Re: Woord samenvoegen met verschillende characters
ben je op de radiovlooienmarkt geweest?
paul deelen
shooter@home.nl
shooter@home.nl
Re: Woord samenvoegen met verschillende characters
shooter schreef:ben je op de radiovlooienmarkt geweest?
Ja, in Rosmalen bedoel je?
Re: Woord samenvoegen met verschillende characters
ja die bedoel ik. Ik stond met een stand in de hoek met nano ed
en je bent lekker bezig, als beginner, maar je komt er best wel.
ik woon in s hertogenbosch
aanstaande zaterdag ben ik in de bieb van vught voor vught digitaal.
en je bent lekker bezig, als beginner, maar je komt er best wel.
ik woon in s hertogenbosch
aanstaande zaterdag ben ik in de bieb van vught voor vught digitaal.
paul deelen
shooter@home.nl
shooter@home.nl
Re: Woord samenvoegen met verschillende characters
Ik ben ermee bezig. Bedankt voor de tips. Mocht ik wat meer tijd hebben, dan ga ik er weer mee verder. Ik laat weten hoe het ermee staat.
10 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 54 gasten