Guest User

Untitled

a guest
Jul 17th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <fstream> //for inputting a file
  4. using namespace std;
  5.  
  6. int sumOfDataItems, numberOfDataItems, count, printRows, lastRow, rowCount, colCount, median;
  7. vector<int> v1;
  8. int numbersArray[1300];
  9.  
  10. int readInput(int& totalNum)
  11. {
  12. ifstream inputFile; //File stream object
  13.  
  14. int sum, data; //define variables
  15.  
  16. inputFile.open("C:\\data\\TopicFin.txt"); //open the file
  17. if (!inputFile)//test for errors
  18. cout << "Cannot open TopicFin.txt. Program Ending\n";
  19. else
  20. {
  21.  
  22. //initialize statistics
  23. totalNum = 0;
  24. sum = 0;
  25.  
  26. //loop until the end of the file
  27. while (inputFile >> data)
  28. {
  29. v1.push_back(data);
  30. //compute statistics
  31. sum += data; //update sum
  32.  
  33. totalNum++;
  34. }
  35.  
  36. inputFile.close(); //close the input file
  37.  
  38. return (sum);
  39. }
  40. }
  41.  
  42. int calcMedian(int array[], int size)
  43. {
  44.  
  45. if ((size%2) == 0) //odd number of values
  46. {
  47. cout << "there are an odd number of values" << endl;
  48. return (array[size/2];
  49. }
  50. else
  51. {
  52. cout << "there are an even number of values" << endl;
  53. return ( (array[size/2] + array(size/2 + 1)) / 2 )
  54. }
  55.  
  56. void sort(int array[], int size)
  57. {
  58. bool swap;
  59. int temp;
  60.  
  61. do
  62. {
  63. swap = false;
  64. for (int count = 0; count < (size - 1); count++)
  65. {
  66. if (array[count] > array[count +1])
  67. {
  68. temp = array[count];
  69. array[count] = array[count +1];
  70. array[count + 1] = temp;
  71. swap = true;
  72. }
  73. }
  74. } while (swap);
  75. }
  76.  
  77. int main()
  78. {
  79. sumOfDataItems = readInput(numberOfDataItems);
  80. if (sumOfDataItems == 0) //check for no data
  81. {
  82. cout << "Error - no input file data" << endl;
  83. }
  84. else
  85. {
  86. printRows = numberOfDataItems / 15;
  87. lastRow = numberOfDataItems % 15;
  88. cout << "The values read are:" << endl;
  89. for (rowCount = 0; rowCount < printRows; rowCount++)
  90. {
  91. for (colCount=0; colCount<15; colCount++)
  92. {
  93. cout << v1[count] << " ";
  94. count++;
  95. }
  96. cout << endl;
  97. }
  98. for (colCount=0; colCount<lastRow; colCount++)
  99. {
  100. cout << v1[count] << " ";
  101. count++;
  102. }
  103. cout << endl;
  104. for (count=0; count<numberOfDataItems; count++)
  105. numbersArray[count] = v1[count];
  106. sort( numbersArray, numberOfDataItems );
  107. cout << "\n\nThe average of values is " << (sumOfDataItems / numberOfDataItems) << endl;
  108. cout << numberOfDataItems << " Values were read" << endl << endl << endl;
  109. cout << "The sorted result is\n";
  110. count = 0; //reset count
  111. for (rowCount = 0; rowCount < printRows; rowCount++)
  112. {
  113. for (colCount=0; colCount<15; colCount++)
  114. {
  115. cout << numbersArray[count] << " ";
  116. count++;
  117. }
  118. cout << endl;
  119. }
  120. for (colCount=0; colCount<lastRow; colCount++)
  121. {
  122. cout << numbersArray[count] << " ";
  123. count++;
  124. }
  125. cout << endl;
  126. }
  127. median = calcMedian(numbersArray, numberOfDataItems);
  128. cout << "The media of the values is: " << median << endl;
  129.  
  130. return 0;
  131. }
Add Comment
Please, Sign In to add comment