Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // hw3.1
- //
- // Created by Jack Shirley on 9/22/16.
- // Copyright © 2016 Jack Shirley. All rights reserved.
- //
- #include <iostream>
- #include <vector>
- using namespace std;
- int seed;
- int main() {
- vector<int> vec;
- vector<int> guess;
- int numDigits = 0;
- int code;
- int bulls = 0;
- int cows = 0;
- int num1 = 1;
- bool user = true;
- cout << "Enter number of digits in code (3, 4 or 5): ";
- cin >> numDigits;
- seed = numDigits;
- srand(seed);
- if(numDigits==3){
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- cout << vec.at(0) << vec.at(1) << vec.at(2);
- }
- if(numDigits==4){
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- cout << vec.at(0) << vec.at(1) << vec.at(2) << vec.at(3);
- }
- if(numDigits==5){
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- vec.push_back(rand()%10);
- }
- if(numDigits==0){
- while(user==true){
- cout << "Enter code: ";
- cin >> code;
- if(code>=100 && code<=999){
- numDigits = 3;
- vec.push_back(code/100);
- vec.push_back((code-(vec.at(0)*100))/10);
- vec.push_back((code-((vec.at(0)*100)+(vec.at(1)*10))));
- if(vec.at(0) == vec.at(1) || vec.at(0) == vec.at(2) || vec.at(1) == vec.at(2)){
- cout << "Each number must be different." << endl;
- vec.erase(vec.begin(),vec.end());
- user = true;
- }else{
- user = false;
- }
- }
- if(code>=1000 && code<=9999){
- numDigits = 4;
- vec.push_back(code/1000);
- vec.push_back((code-(vec.at(0)*1000))/100);
- vec.push_back((code-((vec.at(0)*1000)+(vec.at(1)*100)))/10);
- vec.push_back((code-((vec.at(0)*1000)+(vec.at(1)*100)+(vec.at(2)*10))));
- if(vec.at(0) == vec.at(1) || vec.at(0) == vec.at(2) || vec.at(0) == vec.at(3) || vec.at(1) == vec.at(2) || vec.at(1) == vec.at(3) || vec.at(2) == vec.at(3)){
- cout << "Each number must be different." << endl;
- vec.erase(vec.begin(),vec.end());
- user = true;
- }else{
- user = false;
- }
- }
- if(code>=10000 && code<=99999){
- numDigits = 5;
- vec.push_back(code/10000);
- vec.push_back((code-(vec.at(0)*10000))/1000);
- vec.push_back((code-((vec.at(0)*10000)+(vec.at(1)*1000)))/100);
- vec.push_back((code-((vec.at(0)*10000)+(vec.at(1)*1000)+(vec.at(2)*100)))/10);
- vec.push_back((code-((vec.at(0)*10000)+(vec.at(1)*1000)+(vec.at(2)*100)+(vec.at(3)*10))));
- if(vec.at(0) == vec.at(1) || vec.at(0) == vec.at(2) || vec.at(0) == vec.at(3) || vec.at(0) == vec.at(4) || vec.at(1) == vec.at(2) || vec.at(1) == vec.at(3) || vec.at(1) == vec.at(4) || vec.at(2) == vec.at(3) || vec.at(2) == vec.at(4) || vec.at(3) == vec.at(4)){
- cout << "Each number must be different." << endl;
- vec.erase(vec.begin(),vec.end());
- user = true;
- }else{
- user = false;
- }
- }
- }
- }
- while(code!=num1){
- bulls = 0;
- cows = 0;
- guess.erase(guess.begin(),guess.end());
- cout << "Enter guess: ";
- cin >> num1;
- if(num1>=100 && num1<=999){
- guess.push_back(num1/100);
- guess.push_back((num1-(guess.at(0)*100))/10);
- guess.push_back((num1-((guess.at(0)*100)+(guess.at(1)*10))));
- }
- if(num1>=1000 && num1<=9999){
- guess.push_back(num1/1000);
- guess.push_back((num1-(guess.at(0)*1000))/100);
- guess.push_back((num1-((guess.at(0)*1000)+(guess.at(1)*100)))/10);
- guess.push_back((num1-((guess.at(0)*1000)+(guess.at(1)*100)+(guess.at(2)*10))));
- cout << guess.at(0) << guess.at(1) << guess.at(2) << guess.at(3);
- }
- if(num1>=10000 && num1<=99999){
- guess.push_back(num1/10000);
- guess.push_back((num1-(guess.at(0)*10000))/1000);
- guess.push_back((num1-((guess.at(0)*10000)+(guess.at(1)*1000)))/100);
- guess.push_back((num1-((guess.at(0)*10000)+(guess.at(1)*1000)+(guess.at(2)*100)))/10);
- guess.push_back((num1-((guess.at(0)*10000)+(guess.at(1)*1000)+(guess.at(2)*100)+(guess.at(3)*10))));
- }
- for(int i = 0; i<numDigits;i++){
- if(guess.at(i)==vec.at(i)){
- bulls++;
- }
- if(numDigits==3){
- if(guess.at(0)==vec.at(2)){
- cows++;
- }
- if(guess.at(1)==vec.at(2)){
- cows++;
- }
- }
- }
- }
- /*
- if(guess.at(i)!=vec.at(i)){
- if(guess.at(i)==vec.back()){
- cows++;
- vec.pop_back();
- }else{
- vec.pop_back();
- }
- if(guess.at(i)==vec.back()){
- cows++;
- vec.pop_back();
- }else{
- vec.pop_back();
- }
- if(guess.at(i)==vec.back()){
- cows++;
- vec.pop_back();
- }else{
- vec.pop_back();
- }
- if(guess.at(i)==vec.back()){
- cows++;
- vec.pop_back();
- }else{
- vec.pop_back();
- }
- if(guess.at(i)==vec.back()){
- cows++;
- vec.pop_back();
- }else{
- vec.pop_back();
- }
- }
- */
- cout << bulls << " bulls" << endl;
- cout << cows << " cows" << endl;
- }
- /*
- cout << "Number to guess: ";
- for(int i=0;i!=numDigits;i++){
- vec.push_back(rand() % 10);
- cout << vec.at(i);
- }
- cout << endl;
- */
- // cout << "Enter guess: ";
- //cin >> guess.at(0);
- // cout << guess.at(0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement