Halaman

Kamis, 20 Oktober 2011

C++

menampilkan segitiga siku-siku alphabet paling efisien ^^v

#include <stdio.h>

const char *s="abcdefghijklmno";
size_t i,j;

int main (void)
{
    printf("%.*s\n",i+1,s+(j+=i)),++i;

    return(j[s]&&main());
}

C++

mempersingkat syntax di bawah dengan output segitiga aplhabet yang sama :

#include <stdio.h>
#include <conio.h>

#define MAX 15

int main(int argc, char *argv[]) {
    char buffer[MAX]; int i, j, k, idx;
    for(i = 0, idx = 0; i < 5; ++i) {
        for(j = 0; j < (i+1); ++j, ((++idx)%MAX)) {
            printf("%c",('a'+idx));
        } printf("\n");
    } getch(); fflush(stdin);
    return(0);
}

C++

3 logika C++ menampilkan output seperti berikut :
A
BC
DEF
GHIJ
KLMNO

syntax :
#include <stdio.h>
#include <conio.h>

#define MAX 15

int GetSize(const char*);
void StringCopy(char*, const char*);

int main(int argc, char *argv[]) {
    char buffer[MAX]; int i, j, k, idx;
    StringCopy(buffer,"abcdefghijklmno");
    for(i = 0, j = 1, k = 2; i < GetSize(buffer); ++i) {
        if(!((i+1)%j)) {
            printf("%c\n",buffer[i]);
            j += (k++);
        } else {
            printf("%c",buffer[i]);
        }
    } getch(); fflush(stdin);
    return(0);
}

int GetSize(const char* buffer) {
    int i = 0;
    while(buffer[i] != '\0') {
        ++i;
    } return(i);
}

void StringCopy(char* dest, const char* src) {
    int i = 0;
    while(*dest++ = *src++) {
        ++i;
    } dest[i] = '\0';
}