Hello C++ Question Design and implement a complete C++ program that will • read
ID: 3589732 • Letter: H
Question
Hello C++ Question
Design and implement a complete C++ program that will
• read a series of integers (greater than 0) from a file (via Linux redirection) and for each integer display (to the screen)
the integer
the number of steps it takes to reach 1
the largest value in the sequence and its position
NOTES:
• Assume that all input values in the data file will be integers greater than 0.
• When constructing data files, separate each integer with whitespace. Each line in the data file should be terminated with a linefeed.
If the first number in a sequence is a positive integer, x Let ao x, an is defined as follows if an is even, then an+1 an/2 if an is odd, then an*1 3 *an+ 1 Then there exists an integer k, such that ak 1 For example, if: 75, then k = 14 and the numbers in the sequence are: 75, 226, 113, 340, 170, 85, 256, 128, 64, 32, 16, 8, 4, 2, 1. The largest number in the sequence is 340 and it is a position 4 in the sequence (assuming 75 is at position 1Explanation / Answer
#include<iostream>
#include<fstream>
using namespace std;
int main(){
int n;
int a;
ifstream fin;
fin.open("input54.txt");
if (!fin){
cout << "Error opening file " << endl;
}
while (fin >> a){
int count = 2;
int max = a;
int index = 1;
int temp = a;
while(a != 1){
if (a % 2 == 0)
a = a/2;
else
a = 3*a + 1;
if (a > max){
max = a;
index = count;
}
count++;
}
cout << "Starting at " << temp << " it takes " << count << " steps to reach 1" << endl;
cout << "The largest number in the series is " << max << " at position " << index << endl;
}
fin.close();
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.