#include "stdafx.h" #include <string> #include <iostream> #include <algorithm> int doubleNumbers(int array[], int len) { int result = 0 , idxPos = 0 ; for (int i = 1; i < len; i++) { if (0 == array[i]) { // no input for itself continue; } idxPos = i << 1; if (idxPos >= len) { continue; } if (1 == array[idxPos]) { result++; } } return result; } unsigned int count_digits(const std::string& s) { return std::count_if(s.begin(), s.end(), [](unsigned char c){ return '-' == c || isdigit(c); } ); } void readIntArray(int array[], const int len) { std::string input; int idx = 0 , number = 0 ; memset(array, 0x00, len * sizeof(int)); while (0 <= number) { std::cin >> input; if (count_digits(input) != input.length()) { input.clear(); continue; } number = std::stoi(input); if (number >= len) { std::cout << "the number must be less than:" << len << std::endl; } else if (0 < number) { array[number] = 1; } input.clear(); } } int _tmain(int argc, _TCHAR* argv[]) { int lenArray = 100 , *pIntArray = NULL , doubleNums = 0 ; pIntArray = new int[lenArray]; readIntArray(pIntArray, lenArray); doubleNums = doubleNumbers(pIntArray, lenArray); delete[] pIntArray; pIntArray = NULL; std::cout << "doubleNums=" << doubleNums << std::endl; std::cin >> lenArray; }
CPP:The number of doubles
猜你喜欢
转载自www.cnblogs.com/xinyueliu/p/12789643.html
今日推荐
周排行