Index
    ALK - Forum
        Öffentliches ALK Board
            Spammer Nr.2
  Login ] [ Registrieren ]  [ Setup ]  [ Hilfe ]  [ Suchen ]

unregistriert ] 24.12.2025 - 05:21:14
Jump to first new ]

Autor Thema: Spammer Nr.2
[ first Page ]   [ 62 ] [ 63 ] [ 64 ] [ 65 ] [ 66 ] [ 67 ] [ 68 ] >69< [ 70 ]
27.11.2001 - 22:23:24
#0681

ALK Koslowski
Fleet Admiral

Koslowski ist offline!!

*backtracker spottet*

new


ähh hab ich hier was verpasst??
was geht den hier ab ???


[ ]

28.11.2001 - 10:44:44
#0682

ALK MacLaughlin
Captain
MacLaughlin ist offline!!

*ich, der offleader*

new


AHA!


-=EHRE UND STÄRKE=-


[ ]

28.11.2001 - 11:18:56
#0683

ALK Koslowski
Fleet Admiral

Koslowski ist offline!!

*backtracker spottet*

new


maclaughlin jeden post den ich heut morgen geöffnet habe hast du ein sehr geistreiches
"aha" hinzugefügt.
auch sternchen geil ???


[ ]

28.11.2001 - 16:23:16
#0684

-KI- MotaBoy
Fleet Admiral

MotaBoy ist offline!!

*Faster Scout, run! run!*

new


errm ich moecht euch dazu anhalten, obwohl der thread so heisst - hier nicht zu spammen.

punktegeile bitte ins teg forum unter spammer nr1 taeglich bis zu 5 posts machen..aber einigermassen sinnvolle :)


How to annoy a Fascist: Enter your local recruiting office. fart. leave.
|-/-| Spraypaint FUCK THE WORLD on his Pitt-bull.


[ ]

29.11.2001 - 14:24:45
#0685

ALK LeBigMac
Commander
LeBigMac ist offline!!

*spammmmmer*

new


/* interpol.c - Programm zur berechnung des Lagrange'schen Interpolationsverfahrens */

#include <stdio.h>
#include <math.h>

int main () {

float Q[25, 25];
float XX[25], D[25];
float X, pi = 3.14159265359;
int i, j, n, FLAG;
char s[200];

/* Eingabe */
n=3; /* Anzahl der Stützstellen */
/*for (i=0; i<n; i++) {
printf("x(%d) = ", i);
XX[i] = atof(gets(s));
printf("F(x(%d)) = ", i);
Q[i, 0] = atof(gets(s));
}*/
XX[0] = 0;
printf("%f\n",XX[0]);
Q[0, 0] = 0;
printf("%f\n",Q[0, 0]);
XX[1] = pi/4;
printf("%f\n",XX[1]);
Q[1, 0] = (1/2) * 1.414213562;
printf("%f\n",Q[1, 0]);
XX[2] = pi/2;
printf("%f\n",XX[2]);
Q[2, 0] = 1;
printf("%f\n",Q[2, 0]);
X = 0;

/* Rechnung */
D[0] = X - XX[0];
for (i=1; i < n; i++) {
D[i] = X - XX[i];
for (j=1 ; j <= i; j++) {
Q[i, j] = (D[i] * Q[i-1, j-1] - D[i-j] * Q[i, j-1]) / (D[i] - D[i-j]);
}
}

/* Ausgabe */
printf("NEVILLES METHODE\n");
printf("Table for P evaluated at X = %f follows\n", X);
for (i=0; i<n;i++) {
printf("x(%d) = %f\n", i, XX[i]);
for (j=1;j<=i;j++) {
printf("Q(%d, %d) = %f\n", i, j, Q[i, j]);
}
}
}



Nötig hab ich's nicht, aber haben will ich's trotzdem!


[ ]

29.11.2001 - 16:23:58
#0686

Nike
Fleet Admiral

Nike ist offline!!

*n00b*

new


Wat bitte isn Langrangsches .... ??
Glaube übrigens kaum dasss das jemand im TEG-Forum weiß *duck*
Halte mich aber dran Mota, mir muss das keiner sagen


[ ]

29.11.2001 - 18:46:14
#0687

-KI- MotaBoy
Fleet Admiral

MotaBoy ist offline!!

*Faster Scout, run! run!*

new


ein paar bemerkungen zu demcode:

-ich haette cout>> bevorzugt. c++ is sowieso besser :P

-hatt es einen sinn, das grosse teile des quelltextes auskommentiert sind? (=

-du haettes genau sogut auch 'spam' schrieben koennen,bringt dir genausoviel punkte


How to annoy a Fascist: Enter your local recruiting office. fart. leave.
|-/-| Spraypaint FUCK THE WORLD on his Pitt-bull.


[ ]

06.12.2001 - 11:35:02
#0688

ALK mipap
Fleet Admiral

mipap ist offline!!

*Am Endes des Weges zu gelben Sternen*

new


soll ich euch den thread in: wir unterhalten uns über programmiersprachen, umbenennen?


[ ]

14.12.2001 - 15:17:19
#0689

ALK LeBigMac
Commander
LeBigMac ist offline!!

*spammmmmer*

new


Pattern Matching (in Perl)
================

Das Pattern Matching in Perl ist dem vom Vi sehr ähnlich, daher kann man sehr
vieles übernehmen. So sieht ein Programm, welches nur einen String vergleicht
so aus:

#! /usr/bin/perl -w
use strict;

my $string = "Hallo";

if ($string =~ /Hallo/){
print $string, "\n";
}
- Das Programm gibt den String aus, falls in diesem 'Hallo' steht


Einen String ersetzen:

#! /usr/bin/perl -w
use strict;

my $string = "Hallo";

$string =~ s/Hallo/Huhuu/;
print $string, "\n";
}
- Das Programm ändert den String 'Hallo' zu 'Huhuu' und gibt diesen aus


Anders als in Perl, kann man schon beim normalen Suchen/Vergleichen andere
(nur keine alphanumerischen) Zeichen anstatt dem '/' verwenden, dann muss man
aber ein 'm' beim Matching voranstellen:

if ($string =~ m$Hallo$){

Man kann wieder nach verschiedenen Strings suchen, die ein positives Ergebniss
liefern, dies geschieht durch einen senkrechten Strich '|':

/Hallo|Huhuu/
- 'Hallo' und 'Huhuu' werden als positives Ergebniss gewertet

Dies lässt sich aber noch mit weiteren Anweisungen verbinden:

/(Hallo|Huhuu)!/
- 'Hallo!' und 'Huhuu!' werden als positives Ergebniss gewertet, dazu
ein Beispiel für den Vi:
/\(Hallo\|Huhuu\)!

Falls wir also nach einer Klammer suchen wollen, muss die Klammer escapt wer-
den, folgende Zeichen muss man mit einem '\' versehen, falls man danach suchen
möchte:

\ | ( ) [ ] { } ^ $ * + ? .

Einige Zeichen sind aus dem Vi bekannt, so stehen die Klammern wieder für ge-
fundene Substrings (hier: Rückwärtsreferenzen, dazu kommen wir aber später),
für den Zeilenanfang und das -ende stehen wieder '^' und '$' und '*' kennen
wir schon als Quantifier. Nun gibt es aber in Vi nicht nur das Sternchen als
Quantifier, sondern noch einige mehr, die noch nicht in den Vi implementiert
wurden.


Quantifier
----------
Max. Min. Erlaubter Wertebereich
{n,m} {n,m}? Muss mindestens n, aber nicht mehr als m Mal vorkommen
{n,} {n,}? Muss mindestens n Mal vorhanden sein
{n} {n}? Muss genau n Mal vorhanden sein
* *? Muss null oder mehr Mal vorhanden sein ([0,])
+ +? Muss ein- oder mehrmals vorhanden sein ([1,])
? ?? Muss kein- oder einmal vorhanden sein ([0,1])
(n und m müssen ganze Zahlen bis 65536 sein)

Reguläre Ausdrücke beginnen bei Benutzung von Quantifieren mit dem größten
Wert. So wäre das bei diesem Quantifier '*' so, dass bei dieser Anweisung

$string = "HalloHallo";
if ($string =~ /.*Hallo/){ ...

erst zum Ende des Strings gegangen wird, und geschaut, ob da der Rest der An-
weisung (hier das 'Hallo') steht. Es wird immer ein Stück zurückgegangen, bis
die Anweisung war ist. Dies würde hier beim zweiten Hallo sein. Bei Benutzung
des minimales Matchings, wird genau andersrum vorgegangen. Es wird in dem obi-
gen Beispiel mit dem '.*?' kein Zeichen gematcht und geschaut ob der weitere
Teil der Anweisung richtig ist. Das wäre sofort der Fall und man hätte nun das
erste 'Hallo' gefunden.

Dies ist hier vielleicht noch egal, aber wenn man bei übergabe von Argumenten
bei einem '-' trennen möchte, wäre es fatal, kein minimales Matching zu verwen-
den! Denn bei dieser Anweisung

$string = "programmname -b -v -c -T"
if($string =~ /.*-(.)/){...

wird erst das letzte Argument gematcht, also das 'T'.


Behauptungen
------------
Wie in Vi kann man auch hier mit Behauptungen arbeiten.

^ Prüft auf den Anfang des Strings (oder einer Zeile bei \m)
$ Prüft auf das Ende des Strings (oder einer Zeile bei \m)
\b Prüft auf eine Wortgrenze
\B Prüft auf eine Nicht-Wortgrenze
\A Prüft auf das Ende des Strings
\Z Prüft aud den Anfang des Strings
\G Fährt mit der Prüfung fort, wo letztes m//g abgebrochen wurde
(?=...) Prüft ob ... als nächstes erkannt werden würde
(?!...) Prüft ob ... als nächstes nicht erkannt werden würde


Zeichenklassen
--------------
Ebenfalls wie in Vi kann man mit '[' und ']' eine Zeichenklasse definieren.
Die Umkehr erlangt man durch ein '^' nach der öffneneden eckigen Klammer.

Hier sind die vordefinierten Zeichenklassen aus Perl:
\a Alarm (beep) \d Ziffer
\n newline \D Nicht-Ziffer
\r carriage return \w Wort-Zeichen (alphanum.)
\t Tabulator \W Nicht-Wort
\f Seitenvorschub \s Whitespace
\e Escape \S Nicht-Whitespace

'\0' prüft auf ein Nullzeichen.
'\' gefolgt von einer zwei bis dreistelligen Zahl prüft auf ein Zeichen, was
von dem Oktalwert repräsentiert wird, Achtung wegen Rückwärtreferenzen.
'\x' gefolgt von einer Zahl prüft das gleiche wie oben, nur mit dem hexadezi-
malen Wert.
'\c' gefolgt von einem Buchstaben prüft auf das Kontrollzeichen.


Rückwärtsreferenzen
-------------------
'\1', '\2', ... prüfen, wie im Vi, auf gematchte Substrings aus Klammerpaaren,
die hier nicht, wie oben erwähnt, nicht mit einem '\' versehen werden dürfen
(man kann hier im Gegensatz zum Vi auch mehr als neun Klammerpaare verwenden,
so funktioniert auch $203 (wer's braucht ;-)).

Auserhalb des Ausdrucks, muss man '$1', '$2', ... verwenden, um auf die
Strings zuzugreifen, die während des matchens in '/1', '/2', ... standen.

$+ gibt an, was die letzten eckigen Klammern erkannt haben
$& gibt den gesamten erkannten String zurück
$` liefert alles vor dem erkannten String zurück
$' liefert alles nach dem erkannten String zurück


Modifier
--------
Modifier stellen die Optionen (oder auch flags) dar, die man in Vi nach den
Substitute-Befehlen setzen konnte.

e evaluiere die rechte Seite als Ausdruck
g Globale Suche (wie in Vi, bearbeitet nur den ganzen String)
i Ignoriere Groß- und Kleinschreibung
m Behandele String, als würde er aus mehreren Zeilen bestehen
o Kompiliere Muster nur einmal
s Behandele String wie eine einzige Zeile
x Verwende erweiterte reguläre Ausdrücke,


Erweiterte reguläre Ausdrücke (Modifier 'x')
-----------------------------
(?#Text)
- Ein Kommentar, der Text wird ignoriert
(?:...)
- Lege keine Rückwärtsreferenz an



Nötig hab ich's nicht, aber haben will ich's trotzdem!


[ ]

14.12.2001 - 15:19:27
#0690

ALK LeBigMac
Commander
LeBigMac ist offline!!

*spammmmmer*

new


#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <time.h>
#include <string.h>
#include <signal.h>

struct sockaddr_in s_in = {
AF_INET }; /* Der Rest ist null */

void beerdigeKind () {
/*puts("Kindprozess wird beerdigt");*/
wait(NULL);
}

main()
{
char *buf, c[200], *newstring, speicher[200];
int namelen, newsock, sock;
time_t jetzt;
int pid;

if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(1);
}
s_in.sin_port = htons(7815); /* Gewünschte Port-Nummer */
if (bind(sock, &s_in, sizeof(s_in)) < 0) {
perror("bind");
exit(2);
}
/**/ namelen = sizeof(s_in);
/**/ if (getsockname(sock, &s_in, &namelen) < 0) {
/**/ perror("getsockname");
/**/ exit(3);
/**/ }
/**/ printf("Server bound to port %u %lx.%x\n",
/**/ ntohs(s_in.sin_port), s_in.sin_addr.s_addr, s_in.sin_port);
/*
if (fork())
exit(0);
*/
if (listen(sock, 5) < 0) {
perror("listen");
exit(4);
}

signal(SIGCLD, beerdigeKind);

for (;;) {
printf("listen\n");
namelen = sizeof(s_in);
if ((newsock = accept(sock, &s_in, &namelen)) < 0) {
perror("accept");
exit(5);
}
printf("accept connect from port %u %lx.%x\n",
ntohs(s_in.sin_port), s_in.sin_addr.s_addr,
s_in.sin_port);
if ((pid = fork()) < 0) {
perror("fork");
continue;
}

if (pid == 0) {
FILE* client;
FILE* fd;
char dateiname[200];

close(sock);
client = fdopen(newsock,"r+");
if (!client) {
perror("fdopen");
exit (1);
}


fgets (c, 200, client);
puts (c);
if (!strtok(c, "/")) {
fprintf(client, "Sie sind kein WWW-Browser!\n");
exit(0);
}
newstring = strtok(NULL, " \r\n");
puts (newstring);
strncpy(dateiname, newstring, 200);
while (fgets (c, 200, client) && (*c != '\n' ) && (*c != '\r')){
puts (c);
}

puts ("jetzt wird auf client geschrieben...");
fprintf (client, "HTTP/1.0 200 OK\nContent-type: text/html\n"
"Redirect: www.av.com 4\n"
"\n"
"<html>Die Datei %s wird gesucht...<br><br></html>", dateiname);
fflush (client);
puts ("Klospühlung");

fd = fopen (dateiname, "r");
fputs ("<html>", client);
while ((fgets(speicher, 200, fd))!= 0){
fprintf (client, "%s <br>",speicher);
}
fputs ("</html>", client);
fclose(client);
exit(0);
}

close (newsock);
}
}



Nötig hab ich's nicht, aber haben will ich's trotzdem!


[ ]

[ first Page ]   [ 62 ] [ 63 ] [ 64 ] [ 65 ] [ 66 ] [ 67 ] [ 68 ] >69< [ 70 ]
 



Kontakt | alk clan

Powered by Whiteman www.teg-clan.de © 2000
PHP - Forum Version Beta 1