Jump to content
Sign in to follow this  
rabiatul

Caner Nak Gune Do..while

Recommended Posts

xtau la uat soklan ni pakai do..while. pakai for blh la ckit2... soklan dia program menyusun atur beberapa bilangan nombor mengikut susunan menaik atau pun menurun. maka,anda dikehendaki bangunkan program tersebut dan uji dengan pelbagai data.

output dia lbey kuang mcm ni

masukkan bil no : 5 (nanti tekan enter dia akan kua 5 permintaan integer mengikut masukkan bil no yg kte masuk)

integer :8 (no ni kte masukkan sendiri bape2 yg kte nak)

integer:5

integer:4

integer:9

integer: 1

susunan menaik :14589

susunan menurun :98541

__________________________________

ni contoh yang uat pakai for

#include<iostream.h>

void main(){

int temp,i,j,n,senarai[100];

cout<<"\n masukkan bil no:";

cin>>n;

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

cout<<"\n masukkan no:";

cin>>senarai;

}

for (i=0;i<n-1;i++){

for(j=i+1;j<n;j++){

if(senarai>senarai[j]){

temp=senarai;

senarai=senarai[j];

senarai[j]=temp;

}

}

}

cout<<"\n susunan menaik:";

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

cout<<" "<<senarai;

}

cout<<"\n";

}

_______________________________________

tlg...

Share this post


Link to post
Share on other sites

Assalamualaikum.

Tadi saya dah try run program ni.

Nampaknya semua ok. So kena teruskan untuk susunan menurun pulak.

Cuma kena betulkan kat bahagian ni. Sebab 'main' must return 'int'

#include<iostream.h>
void main(){
tukar jadi
#include<iostream.h>
int main(){
pastu kat bawah sekali return 1 @ int
}
cout<<"\n";
return 1;
}

Share this post


Link to post
Share on other sites

owh baca soalan sekali lagi baru faham

ahahah nak guna do while rupanya.

konsep sama jek ngan for loop. nak kena ubah sikit je

kalau :

for (i=0;i<n-1;i++){
//code
}
akan jadi
i = 0;
do {
//code
   i++;
} while (i < n-1);

@edit: mungkin kena ada pembetulan kat i = 0 or pembetulan kat bahagian (i < n-1)

Edited by MatchMaker

Share this post


Link to post
Share on other sites

cuba cik ezora cuba dulu. sebenarnya apa yg rabiatul buat tu dah siap pun.

nak kena betulkan sikit je.

lagi satu tukar daripada for loop konsep kepada do while konsep.

caranya boleh refer kat kiriman saya #4 tu.

buat je dulu and tanya kat sini, sure ramai lagi yg akan tolong.

Share this post


Link to post
Share on other sites

kalau cik ezora taktau pepe tentang C++, camna cik ezora nak tgk sistem/program ni berjalan?

tau camna nak debug, tau camna nak run? confuse gak ni.

Share this post


Link to post
Share on other sites
#include<iostream>
using namespace std;

void sort(int n, int mode, int senaraibaru[]){
  int i = 0, j, temp;

  do{
      j = i;
      do{
    if (mode == 1) { //menaik
       if(senaraibaru[i]>senaraibaru[j])
       {
       temp = senaraibaru[i];
       senaraibaru[i]=senaraibaru[j];
       senaraibaru[j]=temp;
       }
    }
    else if(mode == 2) {//menurun
         if(senaraibaru[i]<senaraibaru[j])
         {
         temp = senaraibaru[i];
         senaraibaru[i]=senaraibaru[j];
         senaraibaru[j]=temp;
         }
    }
    j++;
    } while(j<n);//2nd do....while

     cout << senaraibaru[i] << " ";
     i++;
  }while(i<n);
}
int main(){

int i,n,senarai[100], mode;

cout << "Masukkan bil no:" << endl;
cin >> n;
cout << "Masukkan 1 : mode menaik\nmasukkan 2 : mode menurun" << endl;
cin >> mode;

i = 0;
do{
cout << "masukkan no: ";
cin >> senarai[i];
i++;
}while(i<n);

sort(n,mode,senarai);
cout << endl;

//system("pause");  // uncomment this if U're using DEV C++
return 0;
}

Share this post


Link to post
Share on other sites

Thanks slayerzblad3. BTW ni jawapan version aku.

#include<iostream.h>
#include <stdlib.h>

int main(){
    int temp, i, j, bil, senarai[100];

    cout<<"\n masukkan bilangan nombor : ";
    cin>>bil;

    i=0;
    do{
           cout<<"\n masukkan nombor "<<i+1<<" : ";
           cin>>senarai[i];
              i++;
    }while (i<bil);

    
    i=0;
    do{
          j=i+1;
          do{      
                if(senarai[i]>senarai[j]){
             temp=senarai[i];
             senarai[i]=senarai[j];
             senarai[j]=temp;
                }
                   j++;       
       }while (j<bil);
       i++;
    }while (i<bil-1);

    cout<<"\n susunan menaik :";

    i=0;
    do{
           cout<<" "<<senarai[i];
              i++;
    }while (i<bil);
    
    cout<<"\n susunan menurun :";

    i=bil-1;
    do{
           cout<<" "<<senarai[i];
              i--;
    }while (i>=0);
    
    cout<<"\n\n";
    system ("pause");
    return 0;
}

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...