roberthsu2003 / cAndC-

51 stars 18 forks source link

c++ 1_3_5 作業2,請增加array_ascent的程式 #19

Closed roberthsu2003 closed 7 months ago

roberthsu2003 commented 8 months ago
#include <iostream>
using namespace std;

void print_array(int n[], int num) {
  for (int i = 0; i < num; i++) {
    cout << n[i] << " ";
  }
  cout << endl;
}

void array_descent(int arr[], int num) {
  for (int i = 0; i < (num - 1); i++) {
    for (int j = i + 1; j < num; j++) {
      //前面的 nums[i]
      //後面的 nums[j]
      //由大到小排序,前面小於後面的要對調
      if (arr[i] < arr[j]) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
    }
  }
}

void array_ascent(int array[], int n) {
  //由小到大的排序
}

int main() {
  int n;
  cout << "請輸入排序的數量:";
  cin >> n;

  int nums[n];
  cout << "請一次輸入" << n << "個數值(數值和數值間要空隔):";
  for (int i = 0; i < n; i++) {
    cin >> nums[i];
  }

  cout << "排序前:\n";
  print_array(nums, n);

  //排序descent
  array_descent(nums, n);

  cout << "排序後:\n";
  print_array(nums, n);
}
ChiuKuanHsun commented 8 months ago

#include <iostream>
using namespace std;

void print_array(int n[], int num) {
  for (int i = 0; i < num; i++) {
    cout << n[i] << " ";
  }
  cout << endl;
}

void array_descent(int arr[], int num) {
  for (int i = 0; i < (num - 1); i++) {
    for (int j = i + 1; j < num; j++) {

      //由大到小排序,前面小於後面的要對調
      if (arr[i] < arr[j]) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
    }
  }
}

void array_ascent(int array[], int n) {
  //由小到大的排序
  for (int i = 0; i < (n - 1); i++) {
    for (int j = i + 1; j < n; j++) {

      //由小到大排序,前面大於後面的要對調
      if (array[i] > array[j]) {
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
      }
    }
  }
}

int main() {
  int n;
  cout << "請輸入排序的數量:";
  cin >> n;

  int nums[n];
  cout << "請一次輸入" << n << "個數值(數值和數值間要空隔):";
  for (int i = 0; i < n; i++) {
    cin >> nums[i];
  }

  cout << "排序前:\n";
  print_array(nums, n);

  //排序descent
  array_descent(nums, n);

  cout << "排序後(大到小):\n";
  print_array(nums, n);

  array_ascent(nums, n);
  cout << "排序後(小到大):\n";
  print_array(nums, n);
}
Lancehsu1030 commented 8 months ago

void array_ascent(int array[],int n){ for (int i = 0; i < (n - 1); i++) { for (int j = i + 1; j < n; j++) { if (array[i] > array[j]) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } }``

a3137418 commented 8 months ago
#include <iostream>
using namespace std;

void print_array(int n[], int num) {
  for(int i=0; i<num ; i++ ) {
    cout << n[i] << " ";
  }
  cout << endl;
}
 //排序descent功能大到小
void array_descent(int arr[] , int  num ){
  for (int i = 0; i < (num - 1); i++) {
    for(int j=i+1;j<num;j++){
      //前面的 arr[i]
      //後面的 arr[j]
      //由大到小排序,前面小於後面的要對調
      if(arr[i] < arr[j]){
        int temp = arr[i];
          arr[i] = arr[j];
          arr[j] = temp;
      }
    }
  }
}
//小到大
void array_ascent(int array[] , int n){
  //由小到大的排序
  for(int i = 0; i<(n-1) ; i++){
    for(int j=i+1;j<n;j++){
      //前面的 array[i]
      //後面的 array[j]
      //由大到小排序,前面小於後面的要對調
      if(array[i] > array[j]){
        int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
      }
    }
  }
}

int main() {
  int n ;
  cout << "請輸入排序的數量:";
  cin >> n;

  int nums[n];
  cout << "請一次輸入" << n << "個數值(數值和數值間要空隔):";
  for (int i = 0; i < n; i++) {
    cin >> nums[i];
  }

  cout << "排序前:\n";
  print_array(nums,n);

  //排序descent

  array_ascent(nums,n);

  cout << "排序後(由小到大):\n";
  print_array(nums,n);

}
AmaoTaiwan commented 8 months ago
void array_ascent(int array[], int n) {
  for(int i = 0;i < (n - 1);i++){
    for(int j = i + 1;j < n;j++){
      if(array[i] > array[j]){
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
      }
    }
  }  
}``
FangYu0113 commented 8 months ago
#include <iostream>
using namespace std;

void print_array(int n[], int num)
{
  for (int i = 0; i < num; i++)
  {
    cout << n[i] << " ";
  }
  cout << endl;
}

void array_descent(int arr[], int num) 
{
  for (int i = 0; i < (num - 1); i++) 
  {
    for (int j = i + 1; j < num; j++)
    {
      //前面的 nums[i]
      //後面的 nums[j]
      //由大到小排序,前面小於後面的要對調
      if (arr[i] < arr[j]) 
      {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
      }
    }
  }
}

void array_ascent(int array[], int n) 
{
  //由小到大的排序
  for(int i = 0; i < (n - 1); i++)
  {
      for(int j = i + 1; j < n; j++)
      {
        if (array [i] > array [j])
        {
            int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }

      }
  }
}

int main() 
{
  int n;
  cout << "請輸入排序的數量:";
  cin >> n;

  int nums[n];
  cout << "請一次輸入" << n << "個數值(數值和數值間要空隔):";
  for (int i = 0; i < n; i++)
  {
    cin >> nums[i];
  }

  cout << "排序前:"<<endl;
  print_array(nums, n);

  //排序descent
  array_descent(nums, n);

  cout << "由大到小排序後:"<<endl;
  print_array(nums, n);

  array_ascent(nums, n);

  cout<< "由小到大排序後:"<<endl;
  print_array(nums, n);
}