Advertisement
mrAnderson33

седьмая лаба

Nov 24th, 2017
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.06 KB | None | 0 0
  1. /*Выполнить попарное суммирование произвольного конечного ряда чисел
  2. следующим образом: на первом этапе суммируются попарно рядом стоящие
  3. числа, на втором этапе суммируются результаты первого этапа и т.д. до тех
  4. пор, пока не останется одно число. Примечание: использовать коллекции
  5. JAVA, входные данные передаются через текстовый файл.*/
  6. /*input*/
  7. 1,2,3,4,5,6
  8. 444,33,111,222,1123,12,34,234,57,89,44
  9. /*Main.java*/
  10. package com.company;
  11.  
  12. import java.io.BufferedReader;
  13. import java.io.FileInputStream;
  14. import java.io.IOException;
  15. import java.io.InputStreamReader;
  16. import java.util.ArrayList;
  17.  
  18. public class Main {
  19.  
  20.     public static void main(String[] args) {
  21.         try (FileInputStream fin = new FileInputStream("C:\\Users\\Василий\\IdeaProjects\\lab 07\\src\\com\\company\\input")) {
  22.             BufferedReader br = new BufferedReader(new InputStreamReader(fin));
  23.             String strLine ;
  24.  
  25.             int counter = 1;
  26.             while ((strLine = br.readLine()) != null) {
  27.  
  28.              String []  strs = strLine.split(",");
  29.              ArrayList<Integer> arr = new ArrayList<>();
  30.  
  31.              for (String x : strs)
  32.                  try
  33.                  {
  34.                      arr.add(new Integer(x));
  35.                  }
  36.                  catch (NumberFormatException ex)
  37.                  {
  38.                      System.err.println("Error : please write a digit ! not a different symbol! ");
  39.                      System.exit(1);
  40.                  }
  41.  
  42.              System.out.println(counter++ +")");
  43.  
  44.              while (arr.size()!=1)
  45.              {
  46.                  ArrayList<Integer> temp = new ArrayList<>();
  47.                  for (int i=0;i < arr.size() - 1;i++)
  48.                  {
  49.                      System.out.print(arr.get(i) + "+" + arr.get(i+1) + " ");
  50.                      temp.add(arr.get(i)+arr.get(i+1));
  51.                  }
  52.                  System.out.println();
  53.                  arr = temp;
  54.              }
  55.              System.out.println(arr.get(0));
  56.             }
  57.  
  58.  
  59.         }
  60.         catch(IOException ex){
  61.             System.out.println(ex.getMessage());
  62.         }
  63.     }
  64. }
  65.  
  66. /*output*/
  67. 1)
  68. 1+2 2+3 3+4 4+5 5+6
  69. 3+5 5+7 7+9 9+11
  70. 8+12 12+16 16+20
  71. 20+28 28+36
  72. 48+64
  73. 112
  74. 2)
  75. 444+33 33+111 111+222 222+1123 1123+12 12+34 34+234 234+57 57+89 89+44
  76. 477+144 144+333 333+1345 1345+1135 1135+46 46+268 268+291 291+146 146+133
  77. 621+477 477+1678 1678+2480 2480+1181 1181+314 314+559 559+437 437+279
  78. 1098+2155 2155+4158 4158+3661 3661+1495 1495+873 873+996 996+716
  79. 3253+6313 6313+7819 7819+5156 5156+2368 2368+1869 1869+1712
  80. 9566+14132 14132+12975 12975+7524 7524+4237 4237+3581
  81. 23698+27107 27107+20499 20499+11761 11761+7818
  82. 50805+47606 47606+32260 32260+19579
  83. 98411+79866 79866+51839
  84. 178277+131705
  85. 309982
  86.  
  87. Process finished with exit code 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement