Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <algorithm>
- #include <stdlib.h>
- using namespace std;
- int jumlah = 0;
- void logikaPermutasi(string select, string remain){
- if(remain == ""){
- cout << select << endl;
- jumlah++;
- return;
- }
- for(int i=0;remain[i];++i){
- string wk(remain);
- logikaPermutasi(select + remain[i], wk.erase(i, 1));
- }
- }
- void permutasi(){
- string anagrama;
- cout << "Masukkan sempel kata sandi : ";
- cin >> anagrama;
- if(anagrama.length()>0){
- if(anagrama.length()>=2){
- sort(anagrama.begin(), anagrama.end());
- logikaPermutasi("", anagrama);
- cout << "Jumlah permutasi : " << jumlah << endl;
- system("pause");
- }else{
- cout << "Sempel harus lebih dari 8 karakter" << endl;
- system("pause");
- }
- }else{
- cout << "Masukkan sempel kata sandi" << endl;
- system("pause");
- }
- }
- int f(int n){
- if (n <= 1){
- cout << "f(" << n << ") = 1" << endl;
- return 1;
- }else{
- cout << "f(" << n << ") = " << n << "*" << "f(" << n-1 << ")"<< endl;
- return n*f(n-1);
- }
- }
- void fungsi(){
- int angka;
- cout << "Masukkan angka n fungsi : ";
- cin >> angka;
- cout << "RUMUS = f(" << "n" << ") = " << "n" << "*" << "f(" << "n" << "-1)" << endl << endl;
- f(angka);
- int tampung[100];
- int batas=0;
- cout << "\nHasilnya = " << endl;
- int factorial = 1;
- for(int i = 1; i <=angka; ++i)
- {
- factorial *= i;
- tampung[batas] = factorial;
- batas++;
- }
- for(int i=batas-1;i>=0;i--){
- cout << tampung[i] << endl;
- }
- system("pause");
- }
- int main()
- {
- int menu;
- do{
- system("cls");
- cout << "Nama Kelompok : " << endl;
- cout << "1. Khisby Al Ghofari 06.2017.1.06852" << endl;
- cout << "2. M. Ichwan Fanani 06.2017.1.06864 " << endl;
- cout << "3. Ach. Khafid Salim 06.2017.1.06762 " << endl;
- cout << "4. Muchammad Nurdin wahyudi 06.2017.1.06808 " << endl;
- cout << "5. Rizal Arianto 06.2017.1.06798 " << endl << endl;
- cout << "Menu " << endl;
- cout << "1. Kombinasi Kata-Sandi (Permutasi)" << endl;
- cout << "2. Memecahkan Fungsi Rekrusif" << endl;
- cout << "Masukkan menu : ";
- cin >> menu;
- if(menu == 1){
- jumlah = 0;
- permutasi();
- }else if(menu == 2){
- fungsi();
- }else{
- cout << "Menu yang anda maksukkan tidak ada..." << endl;
- system("pause");
- }
- }while(menu != 4);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement