Advertentie | |
|
![]() |
||
Citaat:
ik kende er eentje die ongeveer keek hoeveel de 2 woorden op elkaar lijken, als je bv "blaatje" en "blaetje" invulde kreeg je een uitkomst van 99% Wat je zou kunnen doen is kijken hoeveel letters overeenkomen, en hoeveel tekens verschil de woorden hebben. Of je telt de waardes bij elkaar op, en maakt daar een percentage van ( naam1/naam2*100)
__________________
$karma++;
|
![]() |
|
Het algorithme wat ik voor dit soort dingen ken werkt als volgt:
1. Kijk voor elke letter in "loves" hoe vaak die in de combinatie van namen voorkom. Zet die getallen achter elkaar. 2. Pak de som van getallen naast elkaar net zo lang tot je tussen 0 en 101 uitkomt. Manuzhai / Morgan 0 1 0 0 0 1 1 0 0 2 1 0 3 1 Toevallig kom ik met Morgan dan op 31% uit. Ik zou zeggen dat dat wel zo'n beetje klopt. ![]()
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
![]() |
||
![]() |
Citaat:
je zet het aantal dezelfde letters achter elkaar, en dan tel je steeds het eerste en het laatste getal bij elkaar op. Manuzhai loves Morgan M a n u z h i l&n bsp;o v e s r g 2 3 2 1 1 1 1 1 2 1 1 1 1 1 3 4 3 2 2 3 2 5 7 5 2 19 7 1 2 91 edit: oeps foutje!
__________________
Ooit. Dan.
Laatst gewijzigd op 23-11-2003 om 02:06. |
![]() |
|
nee het moet zo:
deathz0rz loves enlightenment 1 0 4 3 1 9 5 1 0 2 2 3 1 = 5 3 4 5 6 2 4 5 0 = 4 5 2 6 8 6 = 1 3 3 7 = 90 90% kans dat het goed gaat als het wat wordt tussen die twee ![]() edit: dit prachtige algoritme werkt automatisch spelfouten eruit! Laatst gewijzigd op 23-11-2003 om 08:59. |
![]() |
||
![]() |
Citaat:
![]() edit: het eerste getal had de UNIX-time van je post moeten zijn ![]()
__________________
Ooit. Dan.
|
![]() |
||
Citaat:
![]() |
![]() |
||
Verwijderd
|
Citaat:
- letters uit loves tellen - letters op volgorde van voorkomen tellen - letters op volgorde alfabet tellen Vervolgmogelijkheden: - buitenste getallen wegstrepen en optellen tot je tussen 1 en 100 zit - getallen van links naar rechts bij hun buurman optellen (53511 wordt dus 8862 (5+3=8, 3+5=8, 5+1=6, 1+1=2), maar hierbij kun je in een loop belanden Bouw in je app dan alle zes de mogelijkheden in, te kiezen met radio buttons ![]() ![]() |
![]() |
|
ok, ik heb nu wat gedaan, maar ik zit vast. Het werkt op zich redelijk tot nu toe, op 1 punt na. Ik tel hoe vaak een letter voorkomt met een for loop, en ik sla het op in de array freq wat dynamisch wordt gemaakt, en dus afhankelijk is van de lengte van de 3 strings bij elkaar. Nu krijg ik het wel goed op 1 ding na.
Eerst effe code ![]() Code:
#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main() { string szNaam1; string szNaam2; string std = "loves"; cin>>szNaam1; cin>>szNaam2; string totaal = szNaam1 + std + szNaam2; cout<<totaal<<endl; string :: size_type len, len1; len = totaal.length(); int * freq; freq = new int [len]; for (int x=0; x<len; x++) { freq[x]=1; } for(int j=0; j<totaal.length(); j++) { for( int i=j+1; i<totaal.length(); i++) { if(totaal.substr(j,1)== totaal.substr(i,1)) { freq[j]++; freq[i] = NULL; totaal.erase(i,1); } } } for (int x=0; x<len; x++) { if(freq[x]!= NULL) cout<<freq[x]<<"\t"; } cout<<endl; system("pause"); } Code:
2 3 2 1 1 1 1 1 ![]() |
![]() |
|
|