URI Online Judge | 1182
Column in Array
By Neilor Tonin, URI Brazil
Timelimit: 1
Your job in this problem is to read a number that is a column of an array where an operation will be performed, an uppercase character, indicating the operation to be performed and all elements of a bidimentional arrayM[12][12]. Then, you have to calculate and print the sum or average of all elements within the green area according to the case. The following figure illustrates the case when is entered the number 5 to the array column, showing all elements that must be considered in the operation.
Input
The first line of the input contains a simple integer C (0 ≤ C ≤ 11) indicating the column to be considered in the operation. The second line of the input contains a single uppercase character T ('S' or 'M'), indicating the operation Sum or Average (Média in portuguese) to be performed with the elements of the array. Follow 144 floating-point numbers of the array.
Output
Print the calculated result (sum or average), with one digit after the decimal point.
Input Sample | Output Sample |
5 S 1.0 -3.5 2.5 4.1 ... | 12.6 |
- import java.io.IOException;
- import java.util.Scanner;
- /**
- * IMPORTANT:
- * O nome da classe deve ser "Main" para que a sua solução execute
- * Class name must be "Main" for your solution to execute
- * El nombre de la clase debe ser "Main" para que su solución ejecutar
- */
- public class Main {
- public static void main(String[] args) throws IOException {
- int lineNo;
- float sum = 0, avg = 0;
- Scanner sc = new Scanner(System.in);
- float M[][] = new float[12][12];
- String option ;
- lineNo = sc.nextInt();
- option = sc.next();
- //take input in the array
- for (int i = 0; i < 12; i++) {
- for (int j = 0; j < 12; j++) {
- M[i][j] = sc.nextFloat();
- }
- }
- //logic for summation or average
- //Now find the line No which we've just scanned
- for (int i = 0; i < 12; i++) { //It's only check the specific column no
- sum += M[i][lineNo];
- }
- avg = sum / 12;
- if(option.equals("S")){
- System.out.printf("%.1f\n", sum);
- }else if(option.equals("M")){
- System.out.printf("%.1f\n", avg);
- }
- }
- }
View in dropbox :
No comments:
Write commentsTo know more about the problem, give us your valuable commment. We'll try to help you. Thanks