Versteh den Code Reloaded
Aus reiner Langeweile starte ich hier mal ein neues Forenspiel.
Regeln:
- Wer den aktuellen Code versteht und angeben kann was damit errechnet / erreicht wird, gewinnt.
- Der Gewinner darf einen neuen Code posten.
- Die Codes sollten nicht allzu schwierig sein.
Ich fang mal an, wenn nichts draus wird -> Spiderman Thread.
Code:
#include "stdafx.h"
#include <math.h>
#include <stdlib.h>
#define PI 3.14159265
#define pow_d(x) pow(x,2)
double geheim(double a[], double b[]) {
double top = a[0]*b[0]+a[1]*b[1]+a[2]*b[2];
double bot_left = sqrt((pow_d(a[0])+pow_d(a[1])+pow_d(a[2])));
double bot_right = sqrt((pow_d(b[0])+pow_d(b[1])+pow_d(b[2])));
return acos (top / (bot_left * bot_right)) * 180.0 / PI;
}
int _tmain(int argc, _TCHAR* argv[])
{
double vec_a[3] = { -11, 7, 9 }; // vec = Ein Hinweis!
double vec_b[3] = { 1, 2, 3 };
printf ("***** between a & b: %lf\n", geheim(vec_a,vec_b));
system("pause");
return 0;
}
AW: Versteh den Code Reloaded
//Bogenmaß (rad) zwischen punkt a und punkt b im 3d koordinatensystem?
double top = a[0]*b[0]+a[1]*b[1]+a[2]*b[2]; //Skalarprodukt beider vektoren
double bot_left = sqrt((pow_d(a[0])+pow_d(a[1])+pow_d(a[2]))); //Betrag vektor (Raumdiagonale ?) 1
double bot_right = sqrt((pow_d(b[0])+pow_d(b[1])+pow_d(b[2]))); //Betrag vektor (Raumdiagonale ?) 2
return acos (top / (bot_left * bot_right)) * 180.0 / PI; //in Bogenmaß umrechnen
AW: Versteh den Code Reloaded
Zitat:
Zitat von
Jut4h.tm
Bogenmaß (rad) zwischen punkt a und punkt b im 3d koordinatensystem?
http://i.imgur.com/ScgMm.gif
(Das wollte ich schon lange mal posten :) )
(Punkt a = Vektor a, das lasse ich mal gelten)
Wenn du Lust hast bist du jetzt dran!
AW: Versteh den Code Reloaded
ja gerne ^^
irgendwelche vorgaben?
AW: Versteh den Code Reloaded
Es sollte nicht all zu schwerer Code sein.
AW: Versteh den Code Reloaded
Okay ich versuche es mal damit allzu schwer ist es nicht wenn man sich mit linux und posix auskennt vor der zeit der threads...
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <fcntl.h>
int main(int argc, char *argv[]) {
int pipefd[2];
pid_t ls_pid, wc_pid;
pipe(pipefd);
if ((ls_pid = fork()) == 0) {
dup2(pipefd[1],STDOUT_FILENO);
close(pipefd[0]);
execl("/bin/ls", "ls","-al", NULL);
exit(EXIT_FAILURE);
}
if ((wc_pid = fork()) == 0) {
dup2(pipefd[0], STDIN_FILENO);
close(pipefd[1]);
execl("/bin/grep", "grep","mini", NULL);
exit(EXIT_FAILURE);
}
return EXIT_SUCCESS;
}
AW: Versteh den Code Reloaded
Bitte nicht zu mathematisch! =)
Die Aufgabe eben war eigentlich schon ganz gut; bin auch recht weit in die Nähe der Lösung gekommen nur leider ist es dann an der Mathematik gescheitert.
aber es ist ja auch schon spät :D
AW: Versteh den Code Reloaded
Kein Mathe ^^ mag ich auch nicht
AW: Versteh den Code Reloaded
Der Code listet alle Dateien welche die Zeichenkette "mini" enthalten auf.
AW: Versteh den Code Reloaded
pipt den output vom 1. in den 2. Prozess und filtert alle Dateien die mini im Namen haben
(oder *mini* gehören. user/gruppe)
AW: Versteh den Code Reloaded
Zitat:
Der Code listet alle Dateien welche die Zeichenkette "mini" enthalten auf.
hmmmm..... das ist die ausgabe das stimmt aber mein code macht die nicht.... mein code macht etwas anders wenn du mir das erklären kannst haste die Lösung...
@-SFX- das stimmt!
AW: Versteh den Code Reloaded
Kann mir jemand erklären was fork() genau macht?
AW: Versteh den Code Reloaded
also das gleiche passiert wenn ich einfach "ls -al | grep mini" eingebe :D
also es werden erst alle Dateien im (aktuellem?) Verzeichnis eingelesen (ls), dann die Ausgabe von ls an grep übergeben (pipe) und nach dem Wort "mini" gefiltert und jede Zeile mit "mini" ausgegeben
fork() startet einen neuen Prozess / Thread
AW: Versteh den Code Reloaded
Genau kannst du es hier nachlesen:http://linux.die.net/man/2/fork
Grob: Es erzeugt einen neuen (Kind-)Prozess, welcher parallel zum Elternprogramm abläuft
AW: Versteh den Code Reloaded
Wer macht dann jetzt das nächste.. ^^ ?
Soll ich?
AW: Versteh den Code Reloaded
Meine Lösung war nicht ganz korrekt also mach du ^^
AW: Versteh den Code Reloaded
ok, here we go:
Code:
OH HAI
CAN HAS STDIO?
I HAS YES IZ 'Y'
I HAS NO IZ 'N'
VISIBLEZ I CAN HAS YA NAME (Y/N) ?
GIMMEH ICANHAS
BTW POOPONIT! ICANHAS
IZ $ICANHAS == $YES
VISIBLEZ YA AWSUM
VISIBLEZ SO YA NAME IZ?
GIMMEH NAME
VISIBLE YA NAME IS
VISIBLE NAME
VISIBLEZ ???
VISIBLE LULZ :D
ORLY $ICANHAS == $NO
VISIBLE AW NO
NOWAI
VISIBLE WTF IZ THIS???
KTHX
KTHXBYE
Output von einem möglichen Programmablauf ;)
Ich denke wir sind hier nicht an C gebunden, von dem her..
meine Lieblingssprache <3
AW: Versteh den Code Reloaded
Zitat:
Zitat von
-SFX-
Output von einem möglichen Programmablauf ;)
Ich bin verwirrt von dem Wort "Programmablauf". Ich versuchs aber trotzdem mal:
LOLCODE, der mich zunächst frag, ob ich ihm meinen Namen nenne.
Wenn ich das tue, liest er ihn ein und wiederholt ihn.
Wenn ich das nicht tue, jammert er.
Wenn ich was unverständliches eingebe, meckert er..
Wenn das richtig sein sollte, gebe ich den Szepter an den nächsten Freiwilligen.
AW: Versteh den Code Reloaded
Dann poste ich mal was :D
Code:
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]
<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
AW: Versteh den Code Reloaded
Das ist Brainfuck und gibt "Hello World!" aus. Ich hab grad keine Lust was zu suchen, also kann jemand anderst posten.
AW: Versteh den Code Reloaded
Naja, was auf dem Bildschirm stehen könnte, wenn man das Programm gestartet und sich durch navigiert hat.
Ist aber richtig
@Ratchet:
Das hab ich nicht gesucht, das ist handgeschriebener lolcode, den ich hier noch rumliegen hatte ;)
Mich hat es im Frühjahr mal gereizt, das zu lernen, seitdem hab ich das.
Naja, dann:
Code aus einer meiner php Files die ich mal geschrieben habe:
Code:
isset($f)&&($b=m('d')||$b=dirname(__FILE__))&&$fn=$f['name']&&$r=move_uploaded_file($f['tmp_name'],$b.'/'.$fn)?'done':'failed';
$f kommt aus $_FILES
m ist eine Funktion die Userinput aus $_REQUEST holt und magic_quotes strippt.
Nicht nur beschreiben was es macht, sondern den Code komplett in lesbarer Form.
AW: Versteh den Code Reloaded
http://free-hack.com/showpost.php?p=576744&postcount=3
Nach wie vor ungeschlagen (:
Zitat:
Zitat von
lrg0
Bitte nicht zu mathematisch! =)
hrhrhr :D
AW: Versteh den Code Reloaded
Zitat:
Nicht nur beschreiben was es macht, sondern den Code komplett in lesbarer Form.
Ist doch schon lesbar genug?
AW: Versteh den Code Reloaded
@ Blackberry : Die ganzen Schleifen sind ja auch viel zu aufwändig :P