Dlaczego po wpisaniu takich liczb:
12
6
-10
5
-1
4
8
-3
9
11
-40
6
18
Zwraca mi wynik: 24, 11, 12
Zamiast: 3, 9, 33
Co zrobiłem nie tak?
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class main {
public static int licznik=0;
public static void main(String[] args) throws FileNotFoundException {
int max=0;
int maxindex=0;
int minindex=0;
File file = new File("In0103.txt");
PrintWriter zapis = new PrintWriter("Out0103.txt");
Scanner in = new Scanner(file);
int n = in.nextInt();
int[] tab = new int[n];
int k;
int liczba;
for(int i=0; i<n; i++) {
k = in.nextInt();
tab[i] = k;
liczba=k;
if(i==n-1) {
if(liczba>=0) {
max+=liczba;
maxindex=i+1;
}
}
else if ((max+liczba)<=0) {
max=0;
}
else {
max+=liczba;
maxindex=i+1;
}
licznik++;
}
int o=max;
for(int x=maxindex-1; x>0; x--) {
if(o>0) {
o-=tab[x];
minindex=x+1;
licznik++;
}
}
System.out.println(licznik);
zapis.println(max + ", " + minindex + ", " + maxindex);
zapis.close();
}
}
- screenshot-20211202183207.png (152 KB) - ściągnięć: 12