About

Thursday, 5 January 2012

Belajar C++

Belum lama ini saya di Kampus juga mendapat tugas untuk membuat Program dengan Bahasa C dan C++ dan ini adalah beberapa contoh sederhana dari Program saya >>


Alphabet siku siku

 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';
}


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);
}


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());
}

No comments :

Post a Comment