News:

Semoga anda berbahagia _/\_

Main Menu

[urgent] so hard!..C programming...

Started by El Sol, 08 November 2008, 04:51:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

El Sol

aku ada assignment..disuruh buat pyramid of number...

bentukne gini...

Quote
                                                   1
                                                  232
                                                 34543
                                                4567654
                                              567898765
                                             67890109876
                                           7890123210987
                                          890123454321098
                                        90123456765432109
                                       0123456789876543210

nah, codenya gw ketemu di internet...

Quote
#include<stdio.h>
#include<stdlib.h>
int
main(void) {
           int first;
           int second;
           int third;
           
           for(first = 1; first <=10; first++)
           {
           for(second = 1; second <= 31 - first; second++)
           printf(" ");
           for(second = first, third = (2 * first-1)/2+1; third;second++, third--)
           {
           if(second == 10) second=0;
           printf("%d",second);
           }
           for (second -= 2, third = (2*first-1)/2;third;second--,third--)
           {
 
           if(second==-1)second=9;
 
           printf("%d",second);
 
           }
 
           printf("\n");
 
           }
           system("pause");
           return(0);
}

nah masalahne...gw gk ngerti cara kerja codena...ribet banget codenye...

so, bisa tolong jelasin fungsi masing2 code itu?

yosh!..

kita mulai dari ini..

Quotefor(second = 1; second <= 31 - first; second++
yg ini maksudne apa yak?

Forte

looping dari nilai second = 1 sampai nilai second = 31 - first
jadi misal
           nilai first = 1, maka nilai second dilooping dari 1 sampai 30
           nilai first = 2, maka nilai second dilooping dari 1 sampai 29
           nilai first = 3, maka nilai second dilooping dari 1 sampai 28
           .......
           nilai first = 10, maka nilai second dilooping dari 1 sampai 21
         
ayo sol.. jangan menyerah.. waktu scripting emang memusingkan.. tapi ada kepuasan tersendiri lho waktu men-tracing script

El Sol

 [at] ko fox

thx..

tapi itu codenya berfungsi sebagai apa yak didalem pyramid itu?...

biar ada bentuk pyramid?....

thx yak atas bantuanne..haha

gw kira ko fox itu tabib, ternyata bisa programming juga haha

El Sol


Subzer0

Oo.. konteks for pertama di kode itu (first) untuk nentuin lajur vertikalnya.
Konteks for kedua untuk nentuin spasi.

Variable second dalam konteks for ketiga untuk nentuin nilai2 setengah awal dari lajur horizontal (1-5 misalnya).
Konteks if untuk ngubah angka '10' dalam setengah awal lajur horizontal jadi '0' (jadi daripada 101234, jadinya 01234).

Konteks for keempat untuk nentuin nilai setengah akhir dari lajur horizontal.
Konteks if dalam for ini untuk ngubah angka '-1' jadi '9' krn pengurangan yang terjadi di konteks for-nya (jadi daripada 543210-1, jadinya 5432109).
MindImageDecoder decoder = MindCodec.createMindDecoder(new MindInputStream(Buddha));
BufferedImage mind = decoder.decodeAsBufferedImage();
----Maybe this counts as a koan?

El Sol

 [at] atas

thx banget...besok gw kaji lage!!...^^

thx thx thx..

El Sol

Quotefor(second = first, third = (2 * first-1)/2+1; third; second++, third--)
yg ini maksudne apa yak?..

masih gk ngerti neh..T_T

Subzer0

Aku kurang tahu di C itu pakai big endian atau small endian, kayaknya small endian.  Kalau small endian misalnya 2.5 dalam integer jadi 2.  Third == 2 berarti 2 kali putaran for.  Dalam 2x putaran for, second++ dari second = 2, jadinya 2 and 3.  Jadi di baris kedua (232) hasil dari for ini 2 & 3.
MindImageDecoder decoder = MindCodec.createMindDecoder(new MindInputStream(Buddha));
BufferedImage mind = decoder.decodeAsBufferedImage();
----Maybe this counts as a koan?

El Sol

Quote from: Subzer0 on 11 November 2008, 11:20:17 PM
Aku kurang tahu di C itu pakai big endian atau small endian, kayaknya small endian.  Kalau small endian misalnya 2.5 dalam integer jadi 2.  Third == 2 berarti 2 kali putaran for.  Dalam 2x putaran for, second++ dari second = 2, jadinya 2 and 3.  Jadi di baris kedua (232) hasil dari for ini 2 & 3.
oh!
gitu toh..pantes gw bingung kok bisa ada 2.5..ternyata di endian itu tah?

huahuahuahua..

nanti aku kalo gk ngerti tanya2 lage yak ko subzero...^^ thx banget !

jangan cape jelasin yak hehe...^^

GRP SENT!

johan3000

Dhamma ada dimana-mana...
tinggal anda MENYELAMINNYA (istilah MMD)....

Quote
for(second = first, third = (2 * first-1)/2+1; third; second++, third--)

bisa pakai debugger utk melihat perubahan2 dlm variable..
sehingga dpt mengerti bagaimana suatu program bekerja...

kalau tidak ada fasilitas debugger..
yg pakai print statement utk melihat nilai tsb...

atau tanya org lain...(cara mudah)

mungkin ada saran lain?
Nagasena : salah satu dari delapan penyebab matangnya kebijaksanaan dgn seringnya bertanya

Mr. Bagus

Coba dulu bikin piramidnya pake 1 angka aja, misal angka 1. Setelah terbentuk piramidnya, baru coba ubah2 angka 1 tersebut dengan hitungan matematis sederhana :P
     1              1
   111   -->   232
11111       34543
Dengan seringnya bro El Sol mengutak-atiknya pasti jadi mengerti cara kerjanya ;D
Hati2, utak atik itu bs membuat bro El Sol tergiur lho  ^-^
:x Persepsi yang saya dapat dari pengalaman saya sendiri sebagai orang buta tidak bisa dibandingkan dengan orang yang melihat dengan terang. >:)<