C++ soal 8

Soal ke delapan,

input = 3

output =

2

3  2

5  3  2


 

Sama seperti soal sebelumnya, soal ini membutuhkan scanning, looping, print dan juga menyimpan array.

Bagilah program ini menjadi 2, dimana bagian pertama adalah memasukan data ke dalam program.

Untuk mencari bilangan prima dan memasukannya ke dalam array intinya anda harus mencari bilangan terkecil yang mempunyai faktor 2. Bilangan prima dicari dengan cara mencari jumlah faktor. Faktor adalah bilangan yang bisa membagi bilangan tadi dengan sisa 0.

Sedangkan untuk pencarian bilangan berikutnya, mulai lah dari bilangan itu sendiri ditambah satu agar bilangan tadi tidak dihitung lagi,bingung? langsung liat contoh nya

ex:

pencarian dimulai

1 memiliki faktor hanya 1

2 memiliki faktor 2 yaitu satu dan dua →  2 dimasukan ke array

tapi pada program dimulai dengan array[0] yang sudah di isi 2, sehingga angka berikut nya mulai 3.

8a

Dengan menggunakan while do, program akan mencari a yang prima dan memasukan nya kedalam array, lalu akan dilakukan lagi pencarian yang dimulai dengan a yang baru yaitu a lama + 1. Selama a bukan bilangan dengan faktor dua, maka a akan ditambah satu terus tanpa dimasukan ke dalam array. Jangan lupa bahwa array dimulai dari array ke 0.

itulah bagian pertama.

Bila kita mengerjakan bagian pertama dengan array maka bagian kedua sangatlah simple yaitu kita memulai looping untuk print yang sama dengan soal kedua, dimana dibutuhkan spasi yang berbeda tiap baris agar program terlihat rata kanan.

seperti ini

bagian kedua mulai dari //print ke bawah
bagian kedua mulai dari //print ke bawah

Seharusnya tidak ada lagi kesulitan saat print karena sudah dilakukan berkali – kali, kalau masih bingung mungkin perlu kembali ke tutorial dasar c++.

 

 

C++ soal 7

Soal ke tujuh,

input = 3

output

1

1   1

1   1   2  → fibbonacci


 

Berbeda dengan program – program sebelumnya, soal nomer 7 membutuhkan array, panjang array ini harus di deklarasikan sebelum program dijalankan .

Program ini dibagi menjadi 2 bagian, yang pertama ada bagian dimana program akan menyimpan fibonacci dalam suatu array. Secara umum fibonacci adalah penambahan atas dua angka sebelum nya, jadi array [2] adalah array [1]+array[0]. Setelah anda bisa menyipan bilangan fibonacci dalam array maka bagian yang susah sudah selesai

7

Bagian kedua sama persis dengan program pertama, dimana akan di buat x baris dan setiap baris akan di print array[i], jangan lupa untuk mendeclare i awal sebagai 0 karena array dimulai dari angka 0.

Jika masih belum paham, ada baiknya membaca lagi tutorial yang ada di intro.

C++ soal 6

Soal enam,

input = 5

output =

*                   *                   *                      *                   *

*           *      *          *           *           *      *          *

*                   *                       *                   *                 →  sampai selesai

*           *       *        *            *           *       *        *

*                   *                *                           *                *


Dari 8 soal yang ada, ini yang paling susah karena membutuhkan capability untuk mencari pola, untuk mempermudah mencari pola, coba bagi struktur ini sebagai dua bagian yaitu bagian atas sampai tengah, dan bagian bawah. Kenapa? Karena pada bagian 1 – tengah pola nya terbalik dengan yang di bawah.

Supaya lebih mudah mencari pola nya, ganti * dengan posisi bintang dalam garis ex:

input 3          input 5            input 7

1 3 5 2 7         1 5 9  13           1     7    13

2 4 6 8            2  4  6  8 10       2   6  8 12  14

1 3 5 7            3  7  11               3  5 7  11  15

2 4 6 8 10            4   12 16

1  5  9  13           3  5 7  11  15

2   6  8 12  14

1     7    13

Bingung? Gapapa pikir lagi 5 jam ke depan.


Continue reading C++ soal 6

C++ soal 5

Soal nomer 5,

input = 3                                                                                 input =5

output =                                                                                  output =

***                                                                                            *****

* *                                                                                             *      *

***                                                                                            *      *

*      *

*****

kalau tidak jelas intinya membuat persegi dengan * dengan panjang x dan lebar x, dimana sisi dalam persegi itu kosong. Continue reading C++ soal 5

C++ soal 4

Soal ke empat,

input = 3

output =

1

1    2

1    2     3


Inti soal ini adlah bagaimana kita mengatur jumlah spasi agar bisa membentuk bidang segi tiga, jangan lupa juga saat print angka nya, kita juga perlu menggunakan spasi agar tidak berdempetan.

perbedaan dengan nomer 2 hanya di jumlah spasi saja.
perbedaan dengan nomer 2 hanya di jumlah spasi saja.

Bedanya dengan nomer 2, nomer 4 membutuhkan spasi lebih dikit setiap variable j bertambah.

 

C++ soal 3

Soal ketiga,

input = 3

output =

1 2 3

1 2

1


Masih soal dengan tipe yang sama, yaitu scan, loop lalu print dan sama seperti soal nomer dua, soal ini juga membutuhkan output menjadi rata kanan, karena itu perlu dilakukan looping terhadap spasi.

3
perhatikan for yang pertama dimana nilai i bukan bertambah tapi berkurang.

bedanya, di soal nomer 3 ini justru perintah untuk menulis variable j dimulai dari 1  ke x, sehingga j di baris pertama menjadi 1 sampai x dan di baris terakhir hanya ada 1. Hal ini dilakukan dengan cara mengubah for() milik i yang di soal sebelumnya naik menjadi turun, gunakan cara –i.

Kalau lupa bisa liat lagi kesinikalau lupa semua tentang c++ kembali lah ke halaman introduction.

 

C++ soal 2

Soal kedua,

input = 3

output=

1

2 1

3 2 1


Sama seperti soal sebelumnya, program ini cukup sederhana karena hanya membutuhkan scanning, looping, dan printing. Bedanya, soal kedua mengharuskan output yang rata kanan, bukan rata kiri, karena itu harus di rekayasa dengan penambahan perintah untuk print ” ” atau spasi.

perhatikan for yang pertama
perhatikan for yang pertama

Di program ini bisa kita lihat cara untuk rata kanan hanya lah print spasi sebanyak nilai x dikurangi i, kenapa? Karena baris yang paling panjang adalah baris yang isi angkanya 1 sampai x, sehingga ada x angka, sedangkan yang paling pendek hanya 1, jadi dibutuhkan spasi sebanyak (x-i), dimana i adalah angka yang harus di print baris itu sendiri.

ex:

pada baris 1,nilai i=1 x=3 j=1

maka akan di print spasi sebanyak (3-1) kali, di ikuti print angka 1

pada baris 1,nilai i=2 x=3 j=1,2

maka akan di print spasi sebanyak (2-1) kali di ikuti angka 1 dan 2

dan seterusnya sampai tidak ada spasi karena i = x.

Sisa program ini masih sama dengan yang pertama.

 

C++ Soal 1

Soal pertama,

input     = 3

output  =

1

1 2

1 2 3


Karena ini soal pertama, ada baiknya noobs diberitau cara membuka VS, tekan windows+R →  ketik vcexpress.exe →run. New Project, next → empty project → finish → click kanan di source file → add→new item→c++ file→add→okay.

Program ini cukup sederhana dan hanya membutuhkan scanning, print, dan looping.

maaf lupa return 0; tapi masih bisa
maaf lupa return 0;
tapi masih bisa (y)

Setelah integer di deklarasikan, scanf digunakan untuk mendapatkan data yang di inginkan, dalam hal ini x. Dalam perulangan i, i akan bertambah dari 1 → 2 →3 ( i++ artinya i = i + 1), karena itu ada 3 baris sedangkan j digunakan untuk memutuskan berapa kali dan apa yang dituliskan tiap baris, karena j dimulai dari 1 sampai dengan i, makan nilai j yang di print 1 → 1 2 → 1 2 3.

Setelah kurung tutup j jangan lupa beri printf(“\n”) supaya baris selanjut nya dicetak di new line.

Setelah perulangan i dan j selesai maka program berhenti, kalau masih bingung coba baca lagi tutorial nya.


 

C++ Intro

Setelah Intro ini akan ada soal – soal yang akan di upload beserta penjelasaannya. Soal yang diberikan harus diselesaikan dengan bahasa c/c++. Jika ada yang belum punya atau tau compiler c++, ini merupakan link untuk mendownload visual studio. Compiler lain will also works fine.

Berikut ini adalah beberapa hal dasar yang perlu diketahui sebelum mengerjakan soal yang akan di upload.

1. Include library

Sebelum menulis program masukan dulu library, sebagai rujukan, yang dibutuhkan untuk soal – soal ini adalah #include yang artinya standard input/output.

2.  Standard Structure

int main (){

return 0;

}

Kode ini adalah yang biasa digunakan kalau bingung kenapa ada return 0, nanti akan mengerti saat belajar mengenai function dan output dari function.

3. Deklarasi variable

Bila kita mau menggunakan variable maka kita harus mendeklarasikannya terlebih dulu beserta dengan tipe datanya

ex:

int a;               → mendeklarasikan variable a dengan tipe data integer

char nama;   → mendeklarasikan variable ‘nama’ dengan tipe data character

int a[y][x]     → mendeklarasian array 2 dimensi ( kalau [] hanya satu maka satu                               dimensi) dengan jumlah  baris y dan kolom x, perlu diketaui bila                               mau merujuk suatu variable dalam array makan dimulai dari                                   angka 0 bukan 1.

4. Scan

Scan dilakukan dengan cara memasukan hasil input user ke dalam suatu varible dengan penulisan:

scanf(“%tipedata”,&variable);

ex:

scanf(“%d”,&i); untuk memasukan suatu nilai integer ke dalam variable i

scanf(“%s”,&nama); untuk memasukan array of characters atau string ke nama

5. Print

Digunakan untuk menampilkan nilai dari suatu variable atau character yang kita inginkan ataupun escape sequence ke layar.

printf(“nama anda : %s \n”,nama);

artinya di layar akan ditampilkan nama anda : “isi variable nama” di ikuti dengan new line atau istilah noob nya enter.

6. Looping 

Ada beberapa cara untuk melakukan looping, bisa dengan for(), do while, while ataupun menulis function di dalam function, tetapi yang terkahir belum akan dibahas

1. for(a;b;c){ perintah} → looping ini digunakan untuk menjalankan perintah sampai kondisi di b sudah bernilai false, sedangkan a adalah perintah yang dilakukan sekali pada awal sedangkan c adalah perintah yang dilakukan setiap kali perintah for dikerjakan.

2. while (a) → looping ini akan melakukan perintah yang ditulis setelah while sampai kondisi a bernilai salah.

3. do..while(a) → looping ini sama dengan while, bedanaya, perintah do pasti akan dikerjakan paling tidak sekali, baru setelah itu dilakukan pengecekan kondisi a.

7. Percabangan

Kode yang ditulis untuk melakukan suatu pengecekan terhadap kondisi, ada if, switch dan yang lain, tapi yang sering digunakan hanya if/else if.

if(a) → Percabangan ini akan mengecek apakah nilai dari a dalah true/false bila false maka perintah tidak akan dikerjakan

else if (b) → percabangan ini ditulis di bawah perintah if, dimana bila kondisi a salah akan dilakukan pengecekan terhadap kondisi b, bila a benar, pengecekan terhadap b tidak dilakukan.

else → bukan percabangan, tapi kode ini ditulis untuk menjalankan perintah apa bila kondisi yang di cek pada if diatas salah.

8.  Operasi Matematika

Sama dengan pelajaran logika matematika pada SMA, hanya saja penulisannya berbeda dan hanya bisa dikerjakan dua – dua. Untuk informasi lebih lengkap click di sini.