Jump to content
Admin2

C Programming Array Latihan

Recommended Posts

Kepada member putera.com sekalian, di sini ada beberapa soalan kuiz yang di ambil dari satu source. Siapa yang pandai jawab akan diberi mata ganjaran. Ganjaran dia ialah...... jeng jeng jeng. Jwab2! kuikuikui...

EXERCISE 1

(a) Get five integer numbers from the user.

(B) Store the numbers in an array called Number.

© Display all the numbers on screen.

(d) Modify the program so that it prints the reverse of the numbers.

CONTOH OUTPUT :

Enter numbers : 1

Enter numbers : 2

Enter numbers : 3

Enter numbers : 4

Enter numbers : 5

1 2 3 4 5

5 4 3 2 1

Press any key to continue

EXERCISE 2

(a) Get three kilograms values from the user and keep it in an array called Kilo.

(B) Access each of the kilogram values from array Kilo using a while loop, convert the kilogram into gram and store it in an array called Gram.

© Display all the values from array Kilo and array Gram.

CONTOH OUTPUT:

Enter Kilograms : 3.4

Enter Kilograms : 2.0

Enter Kilograms : 1.55

3.40 kilograms equals to 3400.00 grams

2.00 kilograms equals to 2000.00 grams

1.55 kilograms equals to 1550.00 grams

Press any key to continue

EXERCISE 3

(a) Get five floating point numbers from the user in main() and store the numbers in an array called Salary. ( use do while loop )

(B) Call function display(...) in main() and send array Salary.

© Display the numbers in function display(...) using for loop.

CONTOH OUTPUT:

Enter Salary : 3450.00

Enter Salary : 1250.00

Enter Salary : 5000.00

Enter Salary : 2300.00

Enter Salary : 1800.00

Salary = 3450.00

Salary = 1250.00

Salary = 5000.00

Salary = 2300.00

Salary = 1800.00

Press any key to continue

EXERCISE 4

(a) Create an arrayof type integer called students that has 3 rows and 2 columns

(B) For each student, get two quiz marks.

© Add the two marks, and display the total on the screen.

CONTOH OUTPUT

Marks for student 1

Enter Quiz Marks 1: 34

Enter Quiz Marks 2: 56

Total marks for student 1 : 90

Marks for student 2

Enter Quiz Marks 1: 23

Enter Quiz Marks 2: 43

Total marks for student 2 : 66

Marks for student 3

Enter Quiz Marks 1: 67

Enter Quiz Marks 2: 17

Total marks for student 3 : 84

Press any key to continue

EXERCISE 5

(a) Create an array of type float called Square that has 3 rows and 2 columns.

(B) For each Square, get the measurements.

© Send the array Square to function calculate(...).

(d) In function calculate(...) calculate and display the area for each square.

CONTOH OUTPUT:

Measurement for Square 1

Enter measurement 1: 2

Enter measurement 2: 3

Measurement for Square 2

Enter measurement 1: 4

Enter measurement 2: 5

Measurement for Square 3

Enter measurement 1: 6

Enter measurement 2: 7

Measurement 1 : 2.00

Measurement 2 : 3.00

Area for Square 1 : 6.00

Measurement 1 : 4.00

Measurement 2 : 5.00

Area for Square 2 : 20.00

Measurement 1 : 6.00

Measurement 2 : 7.00

Area for Square 3 : 42.00

Press any key to muncul

Edited by afat

Share this post


Link to post
Share on other sites

//Soalan nombor 1. PLease check the error huhuhuhu.

#include<stdio.h>

main()

{

int i, j,

Number[5];

for (i=0; i<5; i++)

{

printf("Enter numbers: ");

scanf("%d",&Number);

}

for (j=0; j<5; j++)

{

printf("%d\t", Number);

}

printf("\n");

for (j=5; j>0; j--) { // code; }

{

printf("%d\t", Number);

}

}

}

Share this post


Link to post
Share on other sites

#include <stdio.h>

#include <iostream.h>

#define N 3

int main(int argc, char *argv[])

{

int i;

int kg[N];

kg[0]=0;

for(i=0;i<N;i++) {

cin>>"Enter Your Kilograms Values">>kg[N]; }

for(i=0;i<N;i++) {

cout<<"In Gram values:"<<kg[N]*1000; }

return 0;

}

utk soalan nomb 2

Share this post


Link to post
Share on other sites

//Soalan nombor 1. PLease check the error huhuhuhu.

#include<stdio.h>

main()

{

int i, j,

Number[5];

for (i=0; i<5; i++)

{

printf("Enter numbers: ");

scanf("%d",&Number);

}

for (j=0; j<5; j++)

{

printf("%d\t", Number);

}

printf("\n");

for (j=5; j>0; j--) { // code; }

{

printf("%d\t", Number);

}

}

}

1) main perlu return int...

2)

for (j=0; j<5; j++){
    printf("%d\t", Number[i]);
}
for loop guna varibale j...apsal lak guna variable i utk dpt data dari Number[]?... tukar Number kpd Number[j] 3)
for (j=5; j>0; j--) { 
    printf("%d\t", Number[i]);
}
array start dr 0...so, utk access data yang ke-5 dr Number[]...j tu mestilah j=5-1... j tu mestilah sehingga j=0 utk access data yg pertama dr array tu...so c0de tu jd:
for (j=4; j>=0; j--) { 
    printf("%d\t", Number[j]);  // <----Number[j]...bkn Number[i]
}

happy c0ding! :D

Share this post


Link to post
Share on other sites

#include <stdio.h>

#include <iostream.h>

#define N 3

int main(int argc, char *argv[])

{

int i;

int kg[N];

kg[0]=0;

for(i=0;i<N;i++) {

cin>>"Enter Your Kilograms Values">>kg[N]; }

for(i=0;i<N;i++) {

cout<<"In Gram values:"<<kg[N]*1000; }

return 0;

}

utk soalan nomb 2

sikit je silap...

kat cin>>"Enter Your Kilograms Values">>kg[N]; }...

cin tu akan crashkan program ko sbb dia x tau nak letak mana input dr user sbb ko letak string kat situ...huhu...

satu lagi...seprti pos seblum ni...tukar kg[N] kepada kg...sbb kg[N] = kg[3]...tp ko bkn nak deal dgn data yg ke-4 dr array tu...ko nak increment dr kg[0] ke kg[2]...kalu buat camtu, setiap input dr user akan diletakkan ke kg[3] (edit: sedangkan array size ko 3 je...bkn sampai 4) dan kg[0] sampai kg[2] akan ada junk data (sebab ko x initalizekan kan array tu..huhu)

kat for loop yg kedua juga kg[N] tukar kepada kg...

so, c0de tu ke tukar jd:

cout<<"Enter Your Kilograms Values: ">>;
cin>>kg[i]

Edited by betik

Share this post


Link to post
Share on other sites

oh ok thanx betik. ha ni jawapan untuk soalan 1,2,3 dan 4.

SOALAN 1

#include<stdio.h>

main()

{
    int i,Number[5];

    for (i=0; i<5; i++)
    
    {
        printf("Enter Number:    ");
        scanf("%d" ,&Number[i]);


    }


    for (i=0; i<5; i++)
    {
    
        printf("%d\t" ,Number[i]);

    }

    printf("\n");
            
    for(i=4; i>=0; i--)
    {

        printf("%d\t", Number[i]);


    }

}
Jawapan SOalan 2:
#include<stdio.h>

main()

{
    float kilo[3], gram[3];
    int i;

i = 0;
while(i < 3)
{
    printf("enter kilograms: ");
    scanf("%f", &kilo[i]);

    i++;

    

      

}    
for(i=0; i<3; i++)
{
    gram[i] = kilo[i]*1000;        
    printf("%.2f kilograms equals to %.2f grams\n", kilo[i], gram[i]);    

        
}
}
Jawapan soalan 3:
#include<stdio.h>
void display(float []);

main()
{
    float Salary[5]; 
        
        int loop = 0;

do


{
    printf("Enter Salary: ");
    scanf("%f", &Salary[loop]);
    loop++;




}

    while (loop < 5);

 display(Salary);

}


void display(float Salary[])

{

    int loop;
        for(loop = 0; loop<5; loop++)

    {
        printf("Salary = %.2f\n", Salary[loop]);
    
    }

}
Jawapan soalan 4
#include<stdio.h>
#include<stdlib.h>

main()
{
    float Student[3][2];
    int total, i, j;
    for(i = 0; i <= 2; i++)
    {
        printf("Marks for student %d\n\n", i+1);
        total = 0;
        for(j = 0; j <= 1; j++)
        {
            printf("Enter Quiz Marks %d: ", j+1);
            scanf("%f", &Student[i][j]);
            total = total + Student[i][j];
        }

        printf("Total marks for student %d  :  %d\n\n", i+1, total);
    }

}

huhu betik ngan rizal hebat! korang tryla check code2 kat atas ni. mana tau boleh belajar ke. Kalau siapa boleh buat soalan nombor 5 memang aku respect gila la. huhuhu. putera sekalian? ganjaran untuk soalan 5?

Share this post


Link to post
Share on other sites

utk soklan #4, 'total' tu sepatutnya float jugak...

dan utk soklan #5, lebih kurang je ngan soklan #4...cuma perlu panggil satu function 'calculate' utk kira dan display kiraan...

Share this post


Link to post
Share on other sites

huhu aku tersekat kat code bawah ni. help!! huhu

#include<stdio.h>
#include<stdlib.h>

void calculate(float, float); //measurement1 dan measurement2

main()
{
    float Square[3][2], area;
    int i, j;


for (i=0; i<=2; i++) // untuk loop prompt dan untuk letak nilai dalam array
{
printf("Measurement for Square %d: \n\n", i+1);

area = 0;
for (j=0; j<=1; j++) // Untuk loop prompt dan untuk letak nilai dalam array
{
    printf("Enter measurement %d:", j+1);
    scanf("%f", &Square[i][j]);

    area = Square[i][j] * Square[i][j];   // Aku rasa yang ni salah sebab dia tak darabkan Measurement pertama dengan measurement ke-2. Macam mana nak fix? yang soalan 4 tu memang lebih kurang sama. tapi dia ada operasi tambah markah so senang je dapat output. kalau darab??
    




}

    printf("Squre = %f", area); //TEST OUTPUT
    


}
}

Camne ek? huhu. Betik, RIZAL dan lain2 jawab2! huhuhu.

Edited by afat

Share this post


Link to post
Share on other sites

area = Square[j] * Square[j]; // Aku rasa yang ni salah sebab dia tak darabkan Measurement pertama dengan measurement ke-2. Macam mana nak fix? yang soalan 4 tu memang lebih kurang sama. tapi dia ada operasi tambah markah so senang je dapat output. kalau darab??

bukan masalah tambah n darab aku rasa..ko kompius ngan 2d array :ph34r::D...

c0de tu, ko trus darabkan square[0][0] ngan square [0][0]...dan slps iteration kedua, ko drb square[0][1] dgn square[0][1]... so output ko cuma akan akan kuar hasil darab measuremnet 2..bkn measuremnet 1 * measruement 2...

ko try ubah:

area = Square[j-1] * Square[j]; //letak luar for loop ke-2 sblm printf tu

tp utk ikut soklan, ko kena guna function utk calculate n display output...

so, hint dia:

1) utk pass 2d array, cuma declare size array ke-2...(e.g: void calculate(sq[][2]))

2) call funcrtion slps kuar for loop ke-2

3) try pass nilai 'i' skali utk paparkan nilai dr array yg betul

try buat dulu..

Share this post


Link to post
Share on other sites

betik! thanx jap ada soalan ni. hebat la!

yang line ni

area = Square[i][j-1] * Square[i][j]; //letak luar for loop ke-2 sblm printf tu
kenapa j-1 ? memang confius betul la array ni. aku dah try memang boleh dia kira array tu. tapi yang bahagian call array tu susah tol la. huhu. boleh tunjuk coding? pastu bila coding tu aku tak faham aku tanya bahagian mana aku tak faham. skrang ni aku tak faham line ni:
area = Square[i][j-1] * Square[i][j]; //letak luar for loop ke-2 sblm printf tu

Kenapa j-1?

Share this post


Link to post
Share on other sites

yang line ni

area = Square[i][j-1] * Square[i][j]; //letak luar for loop ke-2 sblm printf tu
kenapa j-1 ? memang confius betul la array ni.
hmm...ko da tau kan kalu 2d array, kalu arr[3][2], bermakna array tu ada 3 row, 2 column (dlm bahsa mudah, ttp komputer x berfikir camtu...ia hanyalah single array pada dasarnya)... array ko ada 3 row, 2 column.. pada for loop pertama...nilai i mewakili row... for loop kedua, nilai j mewakili column... so, pada iteration pertama(dlm for loop pertama), i=0...so ia mewakili row 1(array start ngan 0)... pastu, dlm for loop ke-2, j=0... so, ko trus execute code : area = Square[j] * Square[j]; so area akan ada nilai square[0][0] * square[0][0] <----ni sama juga ngan measurement 1 darab measuremnet 1.. pd iteration ke-2 dlm for loop ke-2: i=0, j=1.. so, ko excute lg area = Square[j] * Square[j]; bermakna ko darab measuremnt 2 dgn measuremnet 2 (square[0][1] * square[0][1])... tp ko nk measurenment 1 darab measuremnet 2.... measurement 1 = square[0][0] measuremnt 2 = square[0][1]... so, itu pasal j-1 = 0 dan j=1... huhu...aku pon da x reti nk trgkan guna ayat..haha.. contoh utk function calculte:
void calculate(float sq[][2], int index){
    float area = 0;
    
    area = sq[index][0] * sq[index][1];
    printf("Squares = %.2f",area);
}
utk call function tu:
calculate(Square,i);  // call slps leuar for loop ke-2...i mewakili row

Share this post


Link to post
Share on other sites

huhu betik2 thanx2 aku dah faham sket2. yang j-1 tu. tapi ni aku ubah code tu jadi macam kat bawah ni. kenapa output kedua dan ketiga aku tak dapat? aku masukkan input berdasarkan kat soalan aku post . ni code dia: Huhu

#include<stdio.h>


void calculate(float[]); //measurement1 dan measurement2

main()
{
    float Square[3][2], area;
    int i, j;


    for (i=0; i<=2; i++) // untuk loop prompt dan untuk letak nilai dalam array
    {

        printf("\nMeasurement for Square %d: \n\n", i+1);


    for (j=0; j<=1; j++) // Untuk loop prompt dan untuk letak nilai dalam array
    {

        printf("Enter measurement %d: ", j+1);
        scanf("%f", &Square[i][j]);
    
    }
    

    }

    calculate(Square);

    }


void calculate (float Square[2][3])

{
    float  area;
    int i, j;
    
    printf("\n");

    for (i=0; i<3; i++)

    {
        
        area = 1;
        for(j=0;j<2; j++)
    {
            printf("Measurement %d = %.2f\n", j+1, Square[i][j]);
            area = area * Square[i][j];
        

    }
        
        printf("Area of square %d = %.2f\n", i+1, area);
        
    }
}

rasanya kat mana salah? tolong please.. thanx betik

Edited by afat

Share this post


Link to post
Share on other sites

BETIK2!! aku dah dapat jawapan. rupa2nya aku salah declare array iaitu Square[3][2] bukan Square[2][3]. huhuu thanx2. aku try2 ubah2 code aku ada dua cara. satu cam kau ajar yang j-1 dan satu lagi aku declare area = 1.

#include<stdio.h>


void calculate(float[]); //measurement1 dan measurement2

main()
{
    float Square[3][2], area;
    int i, j;


    for (i=0; i<=2; i++) // untuk loop prompt dan untuk letak nilai dalam array
    {

        printf("\nMeasurement for Square %d: \n\n", i+1);


    for (j=0; j<=1; j++) // Untuk loop prompt dan untuk letak nilai dalam array
    {

        printf("Enter measurement %d: ", j+1);
        scanf("%f", &Square[i][j]);
    
    }
    

    }

    calculate(Square);

    }


void calculate (float Square[3][2])

{
    float  area;
    int i, j;
    
    printf("\n");

    for (i=0; i<3; i++)

    {
        
        area = 1;
        for(j=0;j<2; j++)
    {
        printf("Measurement %d = %.2f\n", j+1, Square[i][j]);
                area = area * Square[i][j];

        //area = Square[i][j-1]*Square[i][j];    // yang ni kalau aku pakai pun boleh. huuhuuh thanx2 hebat2!
        
    }    

        printf("Area of square %d = %.2f\n", i+1, area);

        

    }
}

BETIK meh call aku 0136286523. aku toptup RM 5 hinggit hahaha.. tu je ganjaran nyer.. boley?

Edited by afat

Share this post


Link to post
Share on other sites

BETIK meh call aku 0136286523. aku toptup RM 5 hinggit hahaha.. tu je ganjaran nyer.. boley?
haha...xpe..aku tlg ikhlas je..no prob..

Share this post


Link to post
Share on other sites

QUOTE(afat @ Apr 14 2008, 08:27 PM)

BETIK meh call aku 0136286523. aku toptup RM 5 hinggit hahaha.. tu je ganjaran nyer.. boley?

haha...xpe..aku tlg ikhlas je..no prob..

haha... ko banjer die choki2 cukup... die ok jeh... haha... :lol:

p/s: dgn ak berkire tol... tanye skit kene anto kambing 3 ekor jd sate la...

kene bayar rm50 kat kaunter a la... haha... :lol:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...