Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-120121-

Fucking C

Name: Anonymous 2012-11-03 14:43

Why it doesn't show me strings like "  a"?
Why is the while loop in the trim function bugged (if I input 2 chars the next input length can't be less than 2)?

#include <stdio.h>

#define MAX 1001

int getLine(char s[], int length){ // returns 1 or 0

    int i, qttWord = 0; //qttWord = counter of letters for s[]
    int c; // c = getchar()

    /*Reads the input and puts it into s[], then, verifies if the input is just \n,
    * if so, returns 0(i), if not, puts '\0' at the end of the string.
    */
    for (i = 0; i < length-1 && (c = getchar()) != EOF && c != '\n'; ++i){
            s[i] = c;
            ++qttWord;

    }
    if (i == 0){
        return 0;
    } else if (c == '\n'){
        ++i;
        s[i] = '\0';

    }
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    char flag = '\0';
    for (i = 0; i < qttWord && flag != '1'; ++i){
        if (s[i] == ' ' || s[i] == '\t'){
            flag = '0';
        } else{
            flag = '1';
        }
    }
    if (flag == '0')
        return 0;

    return qttWord;
}
void trim(char s[], int length){

    char s2[MAX];
    int i, qttWord = 0;

    /*while (s[length] != '\0'){
        ++length;
    }
    printf("length:%d\n", length);*/
    for (i = 0; i < length; ++i){
        if (i < length-1){
            if (s[i] == ' ' && s[i+1] != ' '){
                s2[i] = s[i];
                ++qttWord;
                printf("1:%d\n", s2[i]);// if true prints "1" and the character(' ')
            }
        }
        if (s[i] != ' '){
            s2[i] = s[i];
            ++qttWord;
            printf("0:%d\n", s2[i]);//if true prints "0" and the character
        }
    }
    s[0] = '\0';
    s2[qttWord] = '\0';

    for (i = 0; i < qttWord; ++i){
        s[i] = s2[i];
    }
    s2[0] = '\0';
}

int main(){
    char line[MAX];
    int lgh = 0;

    while ((lgh = getLine(line, MAX)) != 0){
        trim(line, lgh);
        printf("%s\n", line);
        line[0] = '\0';
        lgh = 0;
    }
    return 0;
}

Name: Anonymous 2012-11-03 14:50

Also, getLine doesn't return 1 or 0, I forgot to remove that comment...

Name: Anonymous 2012-11-03 15:22

*the next input length will be less than 2

Name: Anonymous 2012-11-03 15:23

>>3
*the next input length will be more than 1

Name: Anonymous 2012-11-03 15:49

Just give up.

Name: Anonymous 2012-11-03 15:51

Why the fuck are you writing the function getLine? Don't you know the stdio.h library you've included contains dozens of options for you to do exactly what you did just not as retarded?

Also stop using camel case you nigger.

Name: Anonymous 2012-11-03 16:03

>>6
Why the fuck are you writing the function getLine?
Following the rules.
>>5
Answer the questions.

Name: Anonymous 2012-11-03 16:06

>>1 doesn't need to give up and >>5 doesn't need to answer >>1's questions.

Name: Anonymous 2012-11-03 16:09

>>8
He needs to answer because he pretends to be superior. He must prove his superiority.

Name: Anonymous 2012-11-03 16:15

C
How anachronistic. Learn Haskell and Javascript instead...or continue micro-optimizing with a language designed when processing power was weaker than a $10 calculator.

Name: Anonymous 2012-11-03 16:29

>>10
What if your code needs to run on a $10 calculator?

Name: Anonymous 2012-11-03 16:30

>>9
That is your strategy. To use the standard superiority/inferiority complex that comes with any trade, and get people to help you by provoking them into demonstrating they are capable of doing what you ask of them. It's a pathetic display for both those you provoke and yourself. Please take it elsewhere. If you just ask a question, some kind soul will eventually answer it. But when I see shit like that, I'd rather see you trip and fall down a flight of stairs than succeed in becoming a programmer, thus the probability of me helping you is dramatically lowered.

Name: Anonymous 2012-11-03 16:31

>>10
Today's iPhone 7GPS is tomorrow's $10 calculator.

Name: Anonymous 2012-11-03 16:35

>>12
I'm sorry...

Name: Anonymous 2012-11-03 16:40

Every time I've seen this shitty piece of code I've heard about ``the rules'', care to elaborate this time?

Name: Anonymous 2012-11-03 16:48

>>14
It's ok. I hope you succeed in becoming a programmer. I just wont help you today.

Name: Anonymous 2012-11-03 17:02

>>15
Don't use anything that was not taught...

Name: Anonymous 2012-11-03 17:19

Learn how to use gdb (a program) and assert().

Name: Anonymous 2012-11-03 19:39

>>1
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    char flag = '\0';
    for (i = 0; i < qttWord && flag != '1'; ++i){
        if (s[i] == ' ' || s[i] == '\t'){
            flag = '0';
        } else{
            flag = '1';
        }
    }
    if (flag == '0')
        return 0;

What in the hell is going on here?

Name: Anonymous 2012-11-03 19:56

>>19
K&R
(...)remove blank lines completely(...)

Name: Anonymous 2012-11-03 19:58

>>19

if (s[i] == ' ' || s[i] == '\t')
{
    return 0;
}

Name: Anonymous 2012-11-03 20:06

>>20-21
What's with the wacky flag values though? Is he confusing '\0' for '0' in a couple places? I don't understand the intent behind that part.

Name: Anonymous 2012-11-03 20:18

>>22
No, '\0' is just null.

Name: Anonymous 2012-11-03 20:21

>>22
I put the flag as a char because it is the smallest addressable unit in C.

Name: Anonymous 2012-11-03 20:24

>>21

That fails on " a".

for(i=0; i<qttword; ++i){
    if(s[i] != '\t' && s[i] != ' '){
        return 1;
    }
}
return 0;

Name: Anonymous 2012-11-03 20:28

>>25
It shouldn't return 1.

Maybe if you say why the while loop is bugged in the trim function, it could.

Name: Anonymous 2012-11-03 20:33

>>24

First, pointless microöptimisations are unhelpful and just make your code more confusing.
Second, char c = 0 is perfectly valid.
Third, character constants are typeof(int), not char.

Name: Anonymous 2012-11-03 20:35

>>21
Well this is embarrassing. I meant s[0], at least that's what I think it does with a quick reading.

Name: Anonymous 2012-11-03 20:40

>>27
But flag isn't a character constant...

Name: Anonymous 2012-11-03 20:55

>>1
/* Write at most `length' characters from standard input into `s', up to and
 * including a newline. Terminate the string with '\0' only if a newline
 * character is found. Return 0 if all characters are whitespace. */
int getLine(char s[], int length) {
    int c, i, qttWord = 0;

    for (i = 0; i < length - 1; i++) {
        c = getchar();
        if (c == EOF || c == '\n')
            break;
        s[i] = c;
        qttWord++;
    }

    if (i > 0) {
        if (c == '\n')
            s[++i] = '\0';

        for (i = 0; i < qttWord && flag != '1'; i++)
            if (s[i] != ' ' && s[i] != '\t')
                return 1;
    }
    return 0;
}

Name: Anonymous 2012-11-03 21:02

>>27
microöptimisations
They're microdeoptimizations, little things you apply to your code to confuse the compiler and make it run slower. OP should use return inside the loop instead of some stupid flag scheme with ASCII digits.

Name: Anonymous 2012-11-03 21:06

>>30
&& flag != '1'
Why are you using an undeclared variable?

Name: Anonymous 2012-11-03 21:11

>>32
I left one too many lines out of the diff.Oops.

Name: Anonymous 2012-11-03 21:57

Ok found why the while wasn't working, updated version:

#include <stdio.h>

#define MAX 1001

int getLine(char s[], int length){ // returns 1 or 0

    int i, qttWord = 0; //qttWord = counter of letters for s[]
    int c; // c = getchar()

    /*Reads the input and puts it into s[], then, verifies if the input is just \n,
    * if so, returns 0(i), if not, puts '\0' at the end of the string.
    */
    for (i = 0; i < length-1 && (c = getchar()) != EOF && c != '\n'; ++i){
            s[i] = c;
            ++qttWord;

    }
    printf("%d\n", i);
    if (i == 0)
        return 0;
    else
        s[i] = '\0';
       
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    for (i = 0; i < qttWord; ++i){
        if (s[i] != ' ' || s[i] != '\t')
            return 1;
    }
    return 0;

}
void trim(char s[]){

    int i, qttWord = 0, length = 0;

    while (s[length] != '\0'){
        ++length;
    }

    char s2[length];
    for (i = 0; i < length; ++i){
        if (i < length-1){
            if (s[i] == ' ' && s[i+1] != ' '){
                s2[i] = s[i];
                ++qttWord;
                printf("1:%d\n", s2[i]);// if true prints "1" and the character(' ')
            }
        }
        if (s[i] != ' '){
            s2[i] = s[i];
            ++qttWord;
            printf("0:%d\n", s2[i]);//if true prints "0" and the character
        }
    }
    s[0] = '\0';
    s2[qttWord] = '\0';

    for (i = 0; i < qttWord; ++i){
        s[i] = s2[i];
    }
    printf("string:%s\n", s);
    s2[0] = '\0';
}

int main(){
    char line[MAX];
    int lgh = 0;

    while ((lgh = getLine(line, MAX)) != 0){
        trim(line);
        printf("%s\n", line);
        line[0] = '\0';
        lgh = 0;
    }
    return 0;
}

Still don't why it doesn't show me strings like "  a" though.

Name: Anonymous 2012-11-03 21:58

*don't know

Name: Anonymous 2012-11-03 22:29

>>29

But '1' is.

He seems to think he can't do char flag = 1 and has to do char flag = '1'.

Since elsewhere he said he was initialising it as char flag = '\0' to ``set it to null'', (strongly) suggesting he has no idea what a char is and thinks it's like a string of length 1 or something.

>>31

Indeed.  I read somewhere that XFree86 rewrote a part of their code that made heavy use of Duff's Device to just use naïve loops and saw a significant performance improvement.

Name: Anonymous 2012-11-03 22:36

>>10
Learn [...] JavaScript
Imageboard ``trolls'' don't even try.

Name: Anonymous 2012-11-03 22:37

He seems to think he can't do char flag = 1 and has to do char flag = '1'.
No don't.

Explain what a char is please.

Name: Anonymous 2012-11-03 22:38

/**************************************************************************
Routine to get next line using platform fgets().

Under MSVC 6:

+ MS threadsafe getc is very slow (multiple layers of function calls before+
  after each character, to lock+unlock the stream).
+ The stream-locking functions are MS-internal -- can't access them from user
  code.
+ There's nothing Tim could find in the MS C or platform SDK libraries that
  can worm around this.
+ MS fgets locks/unlocks only once per line; it's the only hook we have.

So we use fgets for speed(!), despite that it's painful.

MS realloc is also slow.

Reports from other platforms on this method vs getc_unlocked (which MS doesn't
have):
    Linux               a wash
    Solaris             a wash
    Tru64 Unix          getline_via_fgets significantly faster

CAUTION:  The C std isn't clear about this:  in those cases where fgets
writes something into the buffer, can it write into any position beyond the
required trailing null byte?  MSVC 6 fgets does not, and no platform is (yet)
known on which it does; and it would be a strange way to code fgets. Still,
getline_via_fgets may not work correctly if it does.  The std test
test_bufio.py should fail if platform fgets() routinely writes beyond the
trailing null byte.  #define DONT_USE_FGETS_IN_GETLINE to disable this code.
**************************************************************************/

/* Use this routine if told to, or by default on non-get_unlocked()
 * platforms unless told not to.  Yikes!  Let's spell that out:
 * On a platform with getc_unlocked():
 *     By default, use getc_unlocked().
 *     If you want to use fgets() instead, #define USE_FGETS_IN_GETLINE.
 * On a platform without getc_unlocked():
 *     By default, use fgets().
 *     If you don't want to use fgets(), #define DONT_USE_FGETS_IN_GETLINE.
 */
#if !defined(USE_FGETS_IN_GETLINE) && !defined(HAVE_GETC_UNLOCKED)
#define USE_FGETS_IN_GETLINE
#endif

#if defined(DONT_USE_FGETS_IN_GETLINE) && defined(USE_FGETS_IN_GETLINE)
#undef USE_FGETS_IN_GETLINE
#endif

#ifdef USE_FGETS_IN_GETLINE
static PyObject*
getline_via_fgets(PyFileObject *f, FILE *fp)
{
/* INITBUFSIZE is the maximum line length that lets us get away with the fast
 * no-realloc, one-fgets()-call path.  Boosting it isn't free, because we have
 * to fill this much of the buffer with a known value in order to figure out
 * how much of the buffer fgets() overwrites.  So if INITBUFSIZE is larger
 * than "most" lines, we waste time filling unused buffer slots.  100 is
 * surely adequate for most peoples' email archives, chewing over source code,
 * etc -- "regular old text files".
 * MAXBUFSIZE is the maximum line length that lets us get away with the less
 * fast (but still zippy) no-realloc, two-fgets()-call path.  See above for
 * cautions about boosting that.  300 was chosen because the worst real-life
 * text-crunching job reported on Python-Dev was a mail-log crawler where over
 * half the lines were 254 chars.
 */
#define INITBUFSIZE 100
#define MAXBUFSIZE 300
    char* p;            /* temp */
    char buf[MAXBUFSIZE];
    PyObject* v;        /* the string object result */
    char* pvfree;       /* address of next free slot */
    char* pvend;    /* address one beyond last free slot */
    size_t nfree;       /* # of free buffer slots; pvend-pvfree */
    size_t total_v_size;  /* total # of slots in buffer */
    size_t increment;           /* amount to increment the buffer */
    size_t prev_v_size;

    /* Optimize for normal case:  avoid _PyString_Resize if at all
     * possible via first reading into stack buffer "buf".
     */
    total_v_size = INITBUFSIZE;         /* start small and pray */
    pvfree = buf;
    for (;;) {
        FILE_BEGIN_ALLOW_THREADS(f)
        pvend = buf + total_v_size;
        nfree = pvend - pvfree;
        memset(pvfree, '\n', nfree);
        assert(nfree < INT_MAX); /* Should be atmost MAXBUFSIZE */
        p = fgets(pvfree, (int)nfree, fp);
        FILE_END_ALLOW_THREADS(f)

        if (p == NULL) {
            clearerr(fp);
            if (PyErr_CheckSignals())
                return NULL;
            v = PyString_FromStringAndSize(buf, pvfree - buf);
            return v;
        }
        /* fgets read *something* */
        p = memchr(pvfree, '\n', nfree);
        if (p != NULL) {
            /* Did the \n come from fgets or from us?
             * Since fgets stops at the first \n, and then writes
             * \0, if it's from fgets a \0 must be next.  But if
             * that's so, it could not have come from us, since
             * the \n's we filled the buffer with have only more
             * \n's to the right.
             */
            if (p+1 < pvend && *(p+1) == '\0') {
                /* It's from fgets:  we win!  In particular,
                 * we haven't done any mallocs yet, and can
                 * build the final result on the first try.
                 */
                ++p;                    /* include \n from fgets */
            }
            else {
                /* Must be from us:  fgets didn't fill the
                 * buffer and didn't find a newline, so it
                 * must be the last and newline-free line of
                 * the file.
                 */
                assert(p > pvfree && *(p-1) == '\0');
                --p;                    /* don't include \0 from fgets */
            }
            v = PyString_FromStringAndSize(buf, p - buf);
            return v;
        }
        /* yuck:  fgets overwrote all the newlines, i.e. the entire
         * buffer.  So this line isn't over yet, or maybe it is but
         * we're exactly at EOF.  If we haven't already, try using the
         * rest of the stack buffer.
         */
        assert(*(pvend-1) == '\0');
        if (pvfree == buf) {
            pvfree = pvend - 1;                 /* overwrite trailing null */
            total_v_size = MAXBUFSIZE;
        }
        else
            break;
    }

    /* The stack buffer isn't big enough; malloc a string object and read
     * into its buffer.
     */
    total_v_size = MAXBUFSIZE << 1;
    v = PyString_FromStringAndSize((char*)NULL, (int)total_v_size);
    if (v == NULL)
        return v;
    /* copy over everything except the last null byte */
    memcpy(BUF(v), buf, MAXBUFSIZE-1);
    pvfree = BUF(v) + MAXBUFSIZE - 1;

    /* Keep reading stuff into v; if it ever ends successfully, break
     * after setting p one beyond the end of the line.  The code here is
     * very much like the code above, except reads into v's buffer; see
     * the code above for detailed comments about the logic.
     */
    for (;;) {
        FILE_BEGIN_ALLOW_THREADS(f)
        pvend = BUF(v) + total_v_size;
        nfree = pvend - pvfree;
        memset(pvfree, '\n', nfree);
        assert(nfree < INT_MAX);
        p = fgets(pvfree, (int)nfree, fp);
        FILE_END_ALLOW_THREADS(f)

        if (p == NULL) {
            clearerr(fp);
            if (PyErr_CheckSignals()) {
                Py_DECREF(v);
                return NULL;
            }
            p = pvfree;
            break;
        }
        p = memchr(pvfree, '\n', nfree);
        if (p != NULL) {
            if (p+1 < pvend && *(p+1) == '\0') {
                /* \n came from fgets */
                ++p;
                break;
            }
            /* \n came from us; last line of file, no newline */
            assert(p > pvfree && *(p-1) == '\0');
            --p;
            break;
        }
        /* expand buffer and try again */
        assert(*(pvend-1) == '\0');
        increment = total_v_size >> 2;          /* mild exponential growth */
        prev_v_size = total_v_size;
        total_v_size += increment;
        /* check for overflow */
        if (total_v_size <= prev_v_size ||
            total_v_size > PY_SSIZE_T_MAX) {
            PyErr_SetString(PyExc_OverflowError,
                "line is longer than a Python string can hold");
            Py_DECREF(v);
            return NULL;
        }
        if (_PyString_Resize(&v, (int)total_v_size) < 0)
            return NULL;
        /* overwrite the trailing null byte */
        pvfree = BUF(v) + (prev_v_size - 1);
    }
    if (BUF(v) + total_v_size != p && _PyString_Resize(&v, p - BUF(v)))
        return NULL;
    return v;
#undef INITBUFSIZE
#undef MAXBUFSIZE
}
#endif  /* ifdef USE_FGETS_IN_GETLINE */

Name: Anonymous 2012-11-03 22:38

>>38
*No I don't
God...

Name: Anonymous 2012-11-03 22:43

>>38
A char is a 1-byte variable. As long as it's 1 byte wide, you can put anything on it.

This includes 'a' (01100001 in ASCII), 1 (00000001), '1' (00110001) or 255 (11111111).

Name: Anonymous 2012-11-03 22:46

>>41
In C you only have 7 guaranteed bits in a char, you must use signed or unsigned to get the full 8 bits, char is the only integer type that behaves like this.

Name: Anonymous 2012-11-03 22:48

>>38

It's an integer type just like short, long, int and whatnot.  It is ``meant for'' holding characters, but it can hold any integer value within its range.

char is not necessarily 8 bits.
int is not necessarily larger than char.
sizeof(char) is guaranteed to be 1, however, meaning the sizes of all other types must be multiples of the size of char.

Name: Anonymous 2012-11-03 22:49

>>42
Oops, you're right, sorry about that.

Name: Anonymous 2012-11-03 22:54

>>43
char is not necessarily 8 bits.
whatafuck man

No, seriously, if sizeof(char) is guaranteed to be 1, why wouldn't char be 8 bits?

Name: Anonymous 2012-11-03 23:02

On some machines the ``byte'', or smallest easily-addressable unit of memory, is not 8 bits or even a power of two.  I believe the PDP-11 had 9-bit bytes, and the C compiler for some old Cray used 32- or even 64-bit chars because anything smaller would have required a whole bunch of mask and shift operations for each char access, making it unbelievably slow.

Old IBM machines had 6-bit bytes and 36-bit words, but I'm not sure if C guarantees a minimum width of char that would require it to use two bits on those machines.

Name: 46 2012-11-03 23:02

That was directed at >>45 .

Name: Anonymous 2012-11-03 23:08

>>45
CHAR_BIT

Name: Anonymous 2012-11-03 23:08

>>45
sizeof(char)*CHAR_BITS is the only reliable way of knowing

Name: Anonymous 2012-11-03 23:13

Ok, found the solution.
Although, I don't think what I did with thes2 string is very virtuous...

#include <stdio.h>

#define MAX 1001

int getLine(char s[], int length){ // returns 1 or 0

    int i, qttWord = 0; //qttWord = counter of letters for s[]
    int c; // c = getchar()

    /*Reads the input and puts it into s[], then, verifies if the input is just \n,
    * if so, returns 0(i), if not, puts '\0' at the end of the string.
    */
    for (i = 0; i < length-1 && (c = getchar()) != EOF && c != '\n'; ++i){
            s[i] = c;
            ++qttWord;

    }

    if (i == 0)
        return 0;
    else
        s[i] = '\0';
       
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    for (i = 0; i < qttWord; ++i){
        if (s[i] != ' ' || s[i] != '\t')
            return 1;
    }
    return 0;

}
void trim(char s[]){

    int i, qttWord = 0, length = 0;

    while (s[length] != '\0'){
        ++length;
    }

    char s2[length];
    for (i = 0; i < length; ++i)
        s2[i] = -1;

    for (i = 0; i < length; ++i){
        if (i < length-1){
            if (s[i] == ' ' && s[i+1] != ' '){
                int ii;
                for (ii = 0; ii < length; ++ii){
                    if (s2[ii] == -1){
                        s2[ii] = s[i];       
                        ++qttWord;
                        printf("1:%c\n", s2[ii]);
                        break;
                    }
                }
            }
        }
        if (s[i] != ' '){
           
            int ii;
            for (ii = 0; ii < length; ++ii){
                if (s2[ii] == -1){
                    s2[ii] = s[i];       
                    ++qttWord;
                    printf("0:%c\n", s2[ii]);
                    break;
                }
            }
        }
    }
    s[0] = '\0';
    s2[qttWord] = '\0';
    printf("string2:%s\n", s2);
   
    for (i = 0; i < qttWord; ++i){
        s[i] = s2[i];
        printf("s:%c\n", s[i]);
    }
    s[qttWord] = '\0';
    printf("string:%s\n", s);
    s2[0] = '\0';
}

int main(){
    char line[MAX];
    int lgh = 0;

    while ((lgh = getLine(line, MAX)) != 0){
        trim(line);
        printf("%s\n", line);
        line[0] = '\0';
        lgh = 0;
    }
    return 0;
}

Name: Anonymous 2012-11-03 23:22

>>50

in getline:
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    for (i = 0; i < qttWord; ++i){
        if (s[i] != ' ' || s[i] != '\t')
            return 1;
    }
    return 0;

This is backwards -- it returns 1 for the string "  a".

in trim
    for (i = 0; i < length; ++i){
        if (i < length-1){

This is redundant.

Name: Anonymous 2012-11-03 23:39

>>51
it returns 1 for the string "  a".
It should.
in trim

    for (i = 0; i < length; ++i){
        if (i < length-1){
This is redundant.
Nope.

Name: Anonymous 2012-11-04 0:02

>>43
It's an integer type just like short, long, int and whatnot.  It is ``meant for'' holding characters, but it can hold any integer value within its range.
I never said it wasn't an integer type, however it's not a "signed integer type" which the other types you listed are, signed char is a signed integer type.

If you write short int, int or long int you know that they are signed, you don't know that about char, whether char is signed or unsigned is up to the implementation so if you want to be portable you can only work with the 0-127 range i.e. 7 bits unless you specify with either the signed or unsigned type specifiers.

char is not necessarily 8 bits.
Right, it has to be able to hold at least 8 bits.

int is not necessarily larger than char.
Right, but why are you telling me this?

sizeof(char) is guaranteed to be 1, however, meaning the sizes of all other types must be multiples of the size of char.
Right, but why are you telling me this?

>>45
No, seriously, if sizeof(char) is guaranteed to be 1, why wouldn't char be 8 bits?
It's at least 8 bits, of which you can only 7 bits if you want to be portable when you're using the unspecified char type.

On systems that support the optional types in stdint.h like int8_t and uint8_t CHAR_BIT is exactly 8.

Name: Anonymous 2012-11-04 0:13

>>53
Right, it has to be able to hold at least 8 bits.
Nitpick, but only since C99. Earlier standards just require that it can hold at least 95 values, because it has to be able to hold the basic execution character set. In principle, 7-bit (or 5-trit) chars are possible.

Name: Anonymous 2012-11-04 0:42

>>54
In my version of the ANSI C standard CHAR_BIT is guaranteed to be at least 8.

Name: Anonymous 2012-11-04 0:49

>>55
Chapter and verse, please.

Name: Anonymous 2012-11-04 1:06

>>56
2.2.4.2 Numerical limits

Name: Anonymous 2012-11-04 1:25

>>39
GUIDO quality!

Name: Anonymous 2012-11-04 5:50

for (i = 0; i < length-1 && (c = getchar()) != EOF && c != '\n'; ++i){
   s[i] = c;
   ++qttWord;

}

The above is bullshit, code like a !nigger

for (i = 0; i < length-1;)
{
   c = getchar())
   if(c == EOF || c == '\n')
      break;

   s[i++] = c;
   s[i] = '\0';
}

Name: Anonymous 2012-11-04 6:08

Symta:

yoba M = O:<F [V X@T]={F V X=[V@(r F [X@T])];[V]};F X=X>
       = hyp 0 0 M,0,len M,len
       | m:[X Y] (drop Y M |m (drop X ? | O `≤≤`) | O <A B = B-A | all ?≥≥0>)
       | sort by:?,len*?,0,len | rhd



C/C++:

#include <stdio.h>
 
typedef int bool;
#define true 1
#define false 0
 
struct solution {
  int top_left_x;
  int top_left_y;
  int width;
  int height;
};
 
int main(int argc,char** argv)
{
  const int x_size = 4;
  const int y_size = 4;
  int data[4][4] = {{9,4,5,5},{5,1,3,3},{8,1,4,5},{8,0,5,2}};
 
  int top_left_x;
  int top_left_y;
  int width;
  int height;
 
  struct solution sol;
  sol.top_left_x = -1;
  sol.width = 0;
  sol.height = 0;
 
  // width and height also zero based, so 1 means 2
 
  for (width=1;width<x_size;width++)
  {
    for (height=1;height<y_size;height++)
    {
      for (top_left_x=0;top_left_x<x_size-width;top_left_x++)
      {
        for (top_left_y=0;top_left_y<y_size-height;top_left_y++)
        {
          bool passed = true;
          int i,j;
          //x check
          for (i=0;(i<width) && passed;i++)
          {
            for (j=0;(j<height+1) && passed;j++)
            {
              int k = i + top_left_x;
              int l = j + top_left_y;
              int current = data[l][k];
              int next = data[l][k+1];
              if (current>next)
                passed = false;
            }
          }
 
          //y check
          for (i=0;(i<width+1) && passed;i++)
          {
            for (j=0;(j<height) && passed;j++)
            {
              int k = i + top_left_x;
              int l = j + top_left_y;
              int current = data[l][k];
              int next = data[l+1][k];
              if (current>next)
                passed = false;
            }
          }
 
          if (passed && ((width+1)*(height+1) >= (sol.width+1)*(sol.height+1)))
          {
            sol.top_left_x = top_left_x;
            sol.top_left_y = top_left_y;
            sol.width = width;
            sol.height = height;
          }
        }
      }
    }
  }
 
  int i,j;
  if (sol.top_left_x>-1)
  {
    for (j=0;j<sol.height+1;j++)
    {
      for (i=0;i<sol.width+1;i++)
      {
        printf("%d ",data[j+sol.top_left_y][i+sol.top_left_x]);
      }
      printf("\n");
    }
  }
 
 
  return 0;
}

Name: Anonymous 2012-11-04 6:51

>>60
You don't fuck with my rights to privacy, cretin.

Name: Anonymous 2012-11-04 8:30

>>61
When antisemitism becomes global, crowds will be lynching, you, Jews all around the globe right inside your rich Jewish houses. Anyway, having a private house is immodest and wasteful. Everyone should live in commies blocks.

Name: Anonymous 2012-11-04 8:33

>>62
This is how honest Chinese workers live:
http://www.skyscrapercity.com/showthread.php?t=1516684

American Jews are spoiled and deserve only death.

Name: Anonymous 2012-11-04 11:37

>>60
What does the hyp function do? Or rhd?

I don't know what point you're making here. The second code snippet is readable, the first one isn't. The programs also aren't equivalent. Symta looks... interesting, though.

Name: Anonymous 2012-11-04 12:03

>>64
hyp 3 4 5 6 -> ((1 2) (2 2) (3 2) (1 3) (2 3) (3 3) (1 4) (2 4) (3 4) (1 5) (2 5) (3 5))

Name: Anonymous 2012-11-04 12:04

>>65
hyp 1 2 3 4 -> ((1 2) (2 2) (3 2) (1 3) (2 3) (3 3) (1 4) (2 4) (3 4) (1 5) (2 5) (3 5))


self fix

Name: Anonymous 2012-11-04 12:08

>>60
I hope you die a painful death Shitta fagstorm

Name: Anonymous 2012-11-04 12:09

>>67
Shalom, Chaim!

Name: Anonymous 2012-11-04 12:45

>>58-66
where is sumtra documentad

Name: Anonymous 2012-11-04 12:52

>>68
But Shitta is kike shit

Name: Anonymous 2012-11-04 13:45

>>70
your mom is a kike, shit.

>>69
I gave it to Sussman for review, but he burned the papers, because he hates goyim students.

Name: Anonymous 2012-11-04 13:57

>>59
K&R code is nigger like

Name: Anonymous 2012-11-04 14:04

>>71
Why don't you make a nice websight for Symta and submit it to Hacker News?
[Show HN] Symta, the first kike-free programming language

Name: Anonymous 2012-11-04 14:07

Is floating point arithmetic kike shit?

Name: Anonymous 2012-11-04 14:28

>>73
Why don't you make a nice websight
websites cost money, requiring crap like credit card and passport.

first kike-free
would be closed for anti-semitism.

Name: Anonymous 2012-11-04 14:28

>>74
no. floating point are just rational numbers.

Name: Anonymous 2012-11-04 14:35

>>76
rational numbers can be infinite series

Name: Anonymous 2012-11-04 14:47

>>76
floating point is approximate, you FUCKING RETARDED STUPID SHIT GUY FUCKER ANUS

Name: Anonymous 2012-11-04 15:53

real numbers are limits of series of rationals, eat shit jew spammer

Name: Anonymous 2012-11-04 16:00

>>79
U MENA sequences

Name: Anonymous 2012-11-04 21:11

every sequence can be interpreted as a series

Name: Anonymous 2012-11-05 0:05

>>50
Why did you bother terminating s2 in trim

What's the FUQIN point

Name: Anonymous 2012-11-05 0:09

>>79
define "limit"

Name: Anonymous 2012-11-05 0:15

>>83
Let (X, d) be a metric space and {a_n} a sequence of points in X.
The limit of {a_n} as n tends to +\infty is A if
\forall \varepsilon > 0 \exists N \geq 0 : \forall m \geq N d(a_m, A) < \varepsilon

Name: Anonymous 2012-11-05 0:22

>>83

#define limit

Name: Anonymous 2012-11-05 0:31

>>84
define "metric space"
define "point"
define "+\infty"

Name: Anonymous 2012-11-05 1:57

>>86

A metric space is a pair (X, d), where X is a set, and d is a function defined as follows:

d: X * X -> R+

That is, d maps pairs of elements of X to the non negative real numbers. If a and b are elements of X, d(a,b) = r is interpreted as the distance between a and b.

d must satisfy the following properties:

\forall a \in X, d(a,a) = 0.  The distance from a point to itself is zero.

\forall a,b \in X, d(a,b) = d(b,a)  It doesn't matter from which end you measure the distance from.

And d must satisfy the triangle inequality:

\forall a,b,c \in X, d(a,b) + d(b,c) >= d(a,c)

A point is an element of X.

+\infty as seen in >>84 is nothing more than a symbol.

Name: Anonymous 2012-11-05 2:14

The only accumulation point of the natural numbers w.r.t. the euclidean metric

Name: Anonymous 2012-11-05 2:17

>>88
you are making us look bad in front of the finitist.

Name: Anonymous 2012-11-05 3:43

>>87
define "set"
define "R+"
define "function"
define "element of"

Name: Anonymous 2012-11-05 4:06

>>90
A set is a collection of objects. If X is a set and y is an object, the statement y is an element of X is either true or false.

R+ is the set of non negative real numbers. { r in R | r >= 0 }

A function is a mapping from a domain set to a range set. For each element in the domain, there is a unique corresponding value in the range set. Rigorous definition following...

If X and Y are sets, then X is said to be a subset of Y if for every considerable object o, o must be element of Y whenever o is an element of X.
o in X implies o in Y.
\forall o \in X, o \in Y


If X and Y are sets, the cartesian product of X and Y, denoted as X*Y, is the set of all pairs (x,y) such that x is an element of X and y is an element of Y.
X*Y = { (x,y) | x \in X, y \in Y }

A relation R between X and Y is a subset of the cartesian product of X and Y. If a pair (x,y) is an element of R, x and y are said to be related, or related by R.

A function f: X -> Y is a relation of X and Y such that each element of X is related by f to a unique element of Y.

\forall x \in X, \exists ! y \in Y, (x,y) \in f

The statement (x,y) \in f is written as f(x) = y.

Name: Anonymous 2012-11-05 4:16

>>91
define "collection of objects"
define "real numbers"
define "true"
define "false"

Name: Anonymous 2012-11-05 5:04

>>92

I'll avoid defining collection of objects by redefining set and element of. I'm also throwing out objects.

If X and Y are sets, the proposition X is an element of Y is a statement that is either true or false.

A proposition is a statement that is either true or false. A proposition that is true cannot be false. A proposition that is false cannot be true. A proposition cannot be neither true nor false. A proposition cannot be both true and false.

The set of real numbers can be defined as the set of all equivalence classes of Cauchy sequences of rational numbers.

This is going to take a while.

PART 1:

A relation R on a set X is a relation from the set to itself. That is R is a subset of X*X.

A relation R on a set X is called reflexive if each element of X is related to itself.
\forall x \in X, (x,x) \in R

A relation R on a set X is called symmetric if for each x,y in X, if x is related to y whenever y is related to x.
\forall x,y \in X, (x,y) \in R -> (y,x) \in R

A relation R on a set X is called transitive if for each x,y,z in X, x is related to z whenever x is related to y and y is related to z.
\forall x,y,z \in R, ((x,y) \in R and (y,z) \in R) -> (x,z) \in R

A relation R on a set X is called an equivalence relation if R is transitive, symmetric, and transitive.

If X is a set and Y is the empty set, the proposition X is an element of Y is always false.

If X is a set, Y is a set, W is a set, and Z is the intersection of X and Y, then W is an element of Z only when W is an element of X and W is an element of Y.
(W \in X and W \in Y) <-> W \in Z

If X is a set, Y is a set, W is a set, and Z is the union of X and Y, then W is an element of Z only when W is either an element of X or W is an element of Y.
(W \in X or W \in Y) <-> W \in Z

If X is a set and Y is a set, X is equal to Y if and only if X is a subset of Y and Y is a subset of X.

If X is a set, P is a partition of X if P is a set of subset of X such that the following are satisfied:

If A is a set, B is a set, and A is an element of P and B is an element of P, then the intersection of A and B is equal to the empty set.

The union of all elements of P is equal to X.


If R is an equivalence relation on a set X, a maximal subset of X in which all elements are mutually related to one another is called an equivalence class of X.

Provable result: The set of all equivalence classes of X forms a partition of X.

Zero is the empty set.

If X is a set, then Y is the successor of X if Y is the smallest super set of X such that X is an element of Y.

If Y is a set, then X is the predecessor of Y if Y is the successor of X.

If X is a set, X is called a natural number if it is zero or if it is the successor of a natural number.

If X, Y, Z are natural numbers, Z is the sum of X and Y if any of the following are satisfied:

Z is equal to X and Y is equal to zero.
Z is equal to Y and X is equal to zero.
Z is the sum of the successor of X and the predecessor of Y.

If X, Y, Z are natural numbers, Z is the subtraction of X and Y if any of the following are satisfied:

Z is equal to X and Y is equal to zero.
Z is the subtraction of the predecessor of X and the predecessor of Y.

one is the successor of zero.

If X, Y, Z are natural numbers, Z is the multiplication of X and Y if any of the following are satisfied:

Z is equal to zero and X is equal to zero
Z is equal to zero and Y is equal to zero
Z is equal to X and Y is equal to the one.
Z is equal to Y and X is equal to the one.
Z is the sum of X and the multiplication of the X and the predecessor of Y.


If X, Y, Z are natural numbers, Z is the division of X and Y if X is the multiplication of Z and Y.

If X, Y are natural numbers, X is greater than or equal to Y if there is a natural number Z such that X is the sum of Y and Z.

If X, Y are natural numbers, X is called a divisor of Y is there exists a natural number Z such that Z is the division of Y and X.

If X, Y, Z are natural numbers, Z is called the greatest common divisor of X and Y if Z is a divisor of X, Z is a divisor of Y, and if W is a natural number such that W is a divisor of X and W is a divisor of Y, then Z must be greater than or equal to W.

A rational number is a pair of natural numbers whose greatest common divisor is one.

to be continued...

Name: Anonymous 2012-11-05 5:22

>>93
define "all"
define "equivalence classes"
define "Cauchy"
define "sequences"

I'll avoid defining collection of objects by redefining set and element of. I'm also throwing out objects.
Shalom! Avoiding answering directly is a typical Jewish quality.

Name: Anonymous 2012-11-05 5:23

>>94
Imbecilic racist cretin.

Name: Anonymous 2012-11-05 5:25

I stoped at:
MSVC 6:

+ MS th

Name: Anonymous 2012-11-05 5:25

>>95
Shalom!

Name: Anonymous 2012-11-05 5:42

If you try to curtail my essential rights or link videos that require a proprietary binary blob to be played, I will shoot you with my riot gun.

Also, die in a fire, illogical cretin.

Name: Anonymous 2012-11-05 5:43

Name: Anonymous 2012-11-05 5:51

>>99
Die in a fire, illogical shithead. I have inalienable rights to cryptography and free software. My ThinkPad is free of proprietary binary blobs and my gun is loaded.

Name: Lambda A. Calculus 2012-11-05 5:51

2: Fucking C (99)
DA STANDARD

Name: Anonymous 2012-11-05 5:52

>>98,100
stop mocking me you cock sucking cretin

Name: Anonymous 2012-11-05 6:06

>>102
You don't try to curtail MY ESSENTIAL FUCKING RIGHTS, illogical cocksucker because I HAVE A FUCKING RIGHT TO HAVE ESSENTIAL RIGHTS including but not limited to: cryptography, free software, free speech and my essential right to be a self-righteous preaching and spamming faggot.
You will be shot.
Same thing applies if I find you anywhere near my .emacs, my rabbits, my Lemoteor my PGP key.
Die in a fire or I'll shoot you with my gun cretin.

Name: Anonymous 2012-11-05 6:15

>>103
Are you arguing against those rights, cretin?  We already know that you have a problem with the mere existence of racist/sexist/homophobic humour (even if done sarcastically), which makes you Nazi freedom-of-speech-hating cretin, let's see which of those rights you'll argue against next.  Perhaps you'll tell me that your lovely ideal Electronic Police State should be allowed to lawfully access the contents of any computer without a warrant at any time, and that cryptography is evil and should be banned because some terrorist/paedophile/serial-murderer/homophobic-joke-utterer was caught using it at some point.  Or maybe animal agriculture should be banned entirely because humans are too righteous and moral to do such a lowly animalistic thing as eating meat.  Who knows what retarded thing you'll argue against next.

Name: Anonymous 2012-11-05 6:25

>>103
Are you arguing against those rights, cretin?
I'm not.
Strong faggotic personae are worse than tripcodes. You're pushing it too much. It has to be regurgitated at one point. But you're too dense to understand. Faggot.

(...) rest of your post
I'm not that person, I barely speak to you, faggot.

Name: Anonymous 2012-11-05 7:01

And then >>104 was the cretin.
Your existence is really starting to grate. Your straw men don't cover up the fact that you just want things because you feel entitled to them.

Name: Anonymous 2012-11-05 7:11

>>106
No, it's because I am entitled to them and I will fight for them if need be.  Fuck off and die you fucking cretin.

Name: Anonymous 2012-11-05 7:16

>>107
You've reached an all-time high, cretin. The pinnacle of rationality and righteousness.

Name: Anonymous 2012-11-05 7:31

>>108
Really?  Then tell me, my cretinoid ``friend'', where do all these rights originate from?  Surely the UDHR wasn't handed down from God himself.

Name: Anonymous 2012-11-05 7:34

>>105
I shall not be silenced.

Name: Anonymous 2012-11-05 7:36

I killed a Jew. It felt pretty good. Highly recommended.

Name: Anonymous 2012-11-05 7:37

>>111
what a waste of triples

Name: Anonymous 2012-11-05 7:39

>>109
himself
Get out.

Name: Anonymous 2012-11-05 7:39

btw >>108 thanks for making me invest so much time in this persona, I'll never go away now

Name: Anonymous 2012-11-05 7:41

>>114
Goddammit Nathan Poe now I'm confused

Name: Anonymous 2012-11-05 8:50

>>113
Sorry, I forgot to capitalize the pronoun.

Name: Anonymous 2012-11-05 8:57

>>115
I, feminazi and the Jew guy now form the triangle of hate.

Name: Anonymous 2012-11-05 9:01

>>117
Enjoy being an idiot.

Name: Anonymous 2012-11-05 9:09

>>118
Enjoy being a freedom-hating retard.

Name: Second form Feminazi 2012-11-05 9:11

>>117
Yes, yes! We need more allies in our wicked crusade to oppress the 13-years old Libertarians of the world, crushing their freeze peaches under our heel, discriminating them by telling them on their use of slurs.

Name: Anonymous 2012-11-05 9:14

>>120
13-years old
Fuck off and die, cretin.

by telling them on their use of slurs.
Fuck off, nigger faggot cretin.

Name: Anonymous 2012-11-05 9:20

>>120
ONCE AGAIN< FUCK OFF AND DIE YOU FREEDOM HATING PIECE OF SHIT

Second of all, this all started when you borked out the retarded statement that any pejorative usage of the word faggot is evil and harmful to society in any possible context, which is fucking false.  If you plug your ears and go LALALA when presented with a corner case, then you are not cut out to be a programmer.

Name: Anonymous 2012-11-05 9:41

>>122
Look, buddy, you ``ironic'' use of the word I can bet that ain't, because in the end, what makes it funny and edgy is that poking at the insecurities of your friends with the outrageous notion that they are gay is what they most likely find humorous. The fact that you use it pejoratively is damning in its own way, besides, and an argument on itself, closet homophobe

I know this because that's been the case with all of my good ol' pals which do that. And the hundreds of grown-up versions of you on the Internet.

And now you are using it in an attempt to rail me off. So much for your ``feminism''.

I haven't responded to you on that because the threads have either threadstopped or I have stated that I'm bailing out because I don't have that much time to deal with self-deluded little assholes like you.

And you still don't understand what free speech entails.

Fuck off, and come back when you are further into puberty, ``please''.

Name: >>123 2012-11-05 9:44

>>122
And this ``started'' because you can't quit an argument on the Internet, so what else can we do but milk you for all your nerdrage?

Name: Anonymous 2012-11-05 9:47

>>123
Fuck off and die freedom hating faggot nigger. My rights are the most sacred thing on earth and I will kill you with my gun to defend them.

Name: >>123 2012-11-05 9:49

Look, buddy, you ``ironic'' use of the word I can bet that ain't,

Shit, I really fucked up that sentence. Oh, well. Back to work it is.

Name: Anonymous 2012-11-05 9:54

>>126
Back to work
You will never curtail my rights. Die in a fire cretin.

Name: Anonymous 2012-11-05 10:14

>>124
EAT SHIT AND DIE CRETIN.

>>123
The fact that you use it pejoratively is damning in its own way, besides, and an argument on itself, closet homophobe.
Conclusion does not follow from premises.  Prove to me that such behaviour actually hurts homosexuals.

And the hundreds of grown-up versions of you on the Internet.
FUCK OFF AND DIE.

And you still don't understand what free speech entails.
It entails that anyone may be criticized by anyone else, and that anyone may say discriminatory jokes to their heart's content.

Fuck off, and come back when you are further into puberty, ``please''.
FUCK OFF AND DIE YOU COCK SUCKING CRETIN I FUCKING HATE YOU.

Name: Anonymous 2012-11-05 10:56

>>128
And we are criticising you for being a crappy kid due to making homophobic jokes.

It's harmful in public and semi-public settings, like these. Sure, segregated from society it's arguably harmless. That you still think that it's an insult tells me that you are a hypocrite.

And you should really get off your computer now, son. Why must you suffer so much anger over being corrected on a forum.

I'm out for a while, I've got stuff to do.

Name: Feminazi Stormtrooper 2012-11-05 11:13

>>129
Correction: it's not that you think that it's an insult (it is), it's that you use it as such.

Name: Anonymous 2012-11-05 12:02

>>83-130
You CRETINNSE have only spent fifty posts arguing over nothing. I suggest you STEP UP YOU'RE GAME before someone suspects it was all a ruse!

Name: Anonymous 2012-11-05 12:07

This thread is great, cretins! Keep it up!

Name: Anonymous 2012-11-05 12:21

>>132
Yeah, who knows how many Libertardian impostors are now running amok. It's just too fun.

Name: Anonymous 2012-11-05 13:02

>>129
And we are criticising you for being a crappy kid due to making homophobic jokes.
I'm not a child you piece of shit.

It's harmful in public and semi-public settings, like these.
Agreed.

Sure, segregated from society it's arguably harmless.
Finally, that's all I wanted to hear.

it's not that you think that it's an insult (it is), it's that you use it as such.
It's an interesting situation; I find the word homosexual neutral or even positive, yet I see faggot as an insult.  Regardless, it is merely your opinion that I am a closet homophobe, and the fact that I have an odd or unusual definition for a word does not make me one.

Why must you suffer so much anger over being corrected on a forum.
Because fuck you that's why.

Name: Comrade Feminazi 2012-11-05 13:09

>>134
Check your privilege.

Name: Anonymous 2012-11-05 13:12

>>135
While I realize that my life is less shitty than that of many people, I fail to see the relevance to this discussion.

Name: Praetor Feminazi 2012-11-05 13:14

>>136
That you think your personal meaning of ``faggot'' has nary a relevance given the background of the word.

Name: Anonymous 2012-11-05 13:15

>>136
Imbecile.

Name: Anonymous 2012-11-05 13:21

>>135
Words aren't magical.  If you teach a large group of children that ``nigger'' is a synonym for ``happy'', nothing out of the ordinary will happen until they interact with someone who doesn't share their meaning.  I don't see how the dominant meaning of the word in society has any relevance over my usage of it with other people who share the same definition as me.

Name: Anonymous 2012-11-05 13:21

>>138
Likewise, cretin.

Name: Anonymous 2012-11-05 13:24

>>139
You inherited the word with its connotations and use like it's nothing because it's of no consequence to you.

Also, enough /prog/ for me today.

Name: Anonymous 2012-11-05 14:44

>>139
Niggers are happy, because they have low IQ and unable to comprehend their slavery. Had niggers been unhappy, they would have already butchered your filthy U.S. and created their own state on American soil, because only blood can wash your crimes before niggers.

Name: Anonymous 2012-11-05 15:07

>>142
terrorist detected

Name: Anonymous 2012-11-05 16:00

>>142
How am I responsible for what my ancestors the ancestors of the people I kind of look like by virtue of being caucasian did two hundred years ago?  fucking illogical piece of shit

Name: Anonymous 2012-11-05 16:25

>>144
Check your privilege, chalkie.

Name: Anonymous 2012-11-05 16:30

>>89
a life without infinite ordinals is not worth living

Name: Anonymous 2012-11-05 16:35

trim=:#~(+./\.*.+./\)@(' '&~:)

Name: Anonymous 2012-11-05 19:08

>>147
My heart skap a beat when I realized J was being.

Name: Anonymous 2012-11-05 20:02

>>148
skap
wot

Name: Anonymous 2012-11-05 20:12

>>148
skap

Name: Anonymous 2012-11-05 20:37

>>149
Don't try to curtail my freedom of speech, cretin.

FUCK YOU AND DIE IN A FIRE I HATE YOU.

Name: Anonymous 2012-11-05 20:38

>>151
colm dann fiminazee

shk jur prevlge fee wit man

Name: Anonymous 2012-11-05 21:07

Why is this thread still here? Did one of you actually help him?

>>39
Holy shit. That is what the CPython maintainers actually wrote.

Name: Anonymous 2012-11-05 21:29

>>155
fucking dubs

Name: Anonymous 2012-11-05 21:31

>>154-155
break;

Name: Anonymous 2012-11-05 23:06

>>153
He's beyond our help, >>153-san.
I was talking to >>153-san.

Name: Anonymous 2012-11-06 1:49

>>145
Fuck off and die, racist cretin.

Name: Anonymous 2012-11-06 1:53

>>94

define "equivalence classes"
You didn't even read it! I'm not going to finish it now!

define "all"
define "Cauchy"
I was getting there.

define "sequences"
The set of all natural numbers is denoted N. If X is a set, X is an element of N if and only if X is a natural number.

A sequence of rational numbers if a function defined from the set of natural numbers to the set of rational numbers.

Don't change these.
Name: Email:
Entire Thread Thread List