Показать сообщение отдельно
Старый 07.05.2011, 15:02   #1 (permalink)
AcidChild
Новичок
 
Регистрация: 06.05.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Где ошибка? (Java)

import java.util.Locale; // использует точку в качестве разделителя
import java.util.Scanner; // считывание вводимой информации

public class TestArray { // Методы этого класса предназначены для обработки данных

public static void main(String[] args) {
Array ma = new Array ();
System.out.println("Количество искомых элементов: " +ma.SolutionofTask());
}
}

class Array{ // Класс, в котором хранятся все действия с массивом
int [] array; // одномерный массив вещественных чисел

Array(){ // Конструктор содержит код, обеспечивающий заполнение массива
Scanner scr = new Scanner (System.in); // Выделение памяти для Scanner
System.out.print ("Введите количество точек на числовой оси: "); // просьба ввести количество точек на оси
int N = scr.nextInt (); // считывание количества точек на числовой оси
array = new int [N]; // Выделение памяти для массива
scr.useLocale (Locale.US); // использование точки в качестве разделителя
for (int i = 0; i < N; i++){ // цикл по заполнению массива
System.out.print ("Введите число № " + (i+1) + ": "); // просьба ввести число от 1 до N
array[i] = scr.nextInt (); // чтение координаты точек
} //For
System.out.print("Введите число d: ");
int d = scr.nextInt();
} // constructor MyArray()

int SolutionofTask(){ // метод решающий поставленную задачу и возвращающий значение
int leftsum = 0,result = 0, rightsum = 0;
int d = 0;
for (int i = 1; i < array.length - 1; i++) {
leftsum = 0;
rightsum = 0;

for (int j = 0; j < i; j++) {
leftsum += array[j];
}
for (int j = i + 1; j < array.length; j++) {
rightsum += array[j];
}

if (d > (Math.abs(leftsum - rightsum))){
result ++;
}
}
return result; // возвращение найденного результата
}
}
Смысл задания в определении количества элементов в массиве, разделяющих его на две части (слева и
справа от такого элемента), отличающихся по сумме элементов не более чем на
величину d (элементы массива – вещественные числа, d – вещественное число,
вводится с клавиатуры)
AcidChild вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070