Titlul: Generator de teste Scris de: George Popa din Aprilie 13, 2008, 20:50:14 spuneti-mi si mie va rog cum se face un generator de teste care sa ruleze progamul de mai multe ori, sa dea teste random si sa verifice prin brute force?
Titlul: Răspuns: Generator de teste Scris de: Pripoae Teodor Anton din Aprilie 13, 2008, 21:13:14 pai :
un program de generator de teste random: dai afisezi numerele random in fisierul .in (sa zicem ca gen este numit gen.exe) sursa: (sa zicem ca este sursa.exe) care afiseaza raspunsul in nume.out brute-force-ul care afiseaza in .ok si se numeste bf.exe (il poti baga chiar in generatorul de teste random) si verificator care compara ok-ul generat de brute-force cu out-ul generat de sursa ta. si daca esti pe windows(e mai simplu de cat pe linux) faci asa: creezi un fisier .bat in care scrii asta: Cod: @echo off si il rulezi de cate ori vrei tu Titlul: Răspuns: Generator de teste Scris de: Savin Tiberiu din Aprilie 14, 2008, 01:14:32 si pe linux e la fel de usor, creezi fisierul eval.sh si scrii asta:
Cod: #/bin/bash In loc de verif poti sa faci "diff fisier.out fisier.ok". ca sa il rulezi scrii in consola Cod: sh eval.sh Titlul: Răspuns: Generator de teste Scris de: Bogdan-Cristian Tataroiu din Aprilie 14, 2008, 08:13:01 Ai putea face verificarea si generarea direct in bash... e mai putin de scris decat in C/Pascal
daca de exemplu vrei sa compari fisierele out si ok ignorand spatiile in plus Cod: if [ -z "`diff -wB fisier.ok fisier.out`" ]; then Ca sa generezi N numere random poti face: Cod: N=10; devilkind: pe prima linie ai scris deja ca fisierul se ruleaza cu /bin/bash, e de ajuns ./eval.sh ca sa rulezi Titlul: Răspuns: Generator de teste Scris de: Cristian Strat din Aprilie 15, 2008, 01:51:43 diff nu afiseaza nimic daca fisierele sunt identice Incearca `diff -qs` Titlul: Răspuns: Generator de teste Scris de: Anca Miihai din Aprilie 15, 2008, 17:04:47 devilkind: pe prima linie ai scris deja ca fisierul se ruleaza cu /bin/bash, e de ajuns ./eval.sh ca sa rulezi Trebuie sa il faci executabil inainte:Cod: chmod +x eval.sh |