oddsevensrefs.cpp

来自「C++高级编程这本书所附的源代码」· C++ 代码 · 共 50 行

CPP
50
字号
#include <iostream>using namespace std;void printIntArr(const int arr[], int size){  for (int i = 0; i < size; i++) {    cout << arr[i] << " ";  }  cout << endl;} void separateOddsAndEvens(const int arr[], int size, int*& odds, int& numOdds,		  int*& evens, int& numEvens){  int i;  numOdds = numEvens = 0;  for (i = 0; i < size; i++) {    if (arr[i] % 2 == 1) {      numOdds++;    } else {      numEvens++;    }  }  odds = new int[numOdds];  evens = new int[numEvens];  int oddsPos = 0, evensPos = 0;  for (i = 0; i < size; i++) {    if (arr[i] % 2 == 1) {      odds[oddsPos++] = arr[i];    } else {      evens[evensPos++] = arr[i];    }  }}  int main(int argc, char** argv){  int unSplit[10] = {1, 2, 3, 4, 5, 6, 6, 8, 9, 10};  int *oddNums, *evenNums;  int numOdds, numEvens;  separateOddsAndEvens(unSplit, 10, oddNums, numOdds, evenNums, numEvens);  printIntArr(oddNums, numOdds);  printIntArr(evenNums, numEvens);  return (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?