Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задача Java

Модерирует : ShIvADeSt

ShIvADeSt (19-12-2017 09:51):  Версия для печати • ПодписатьсяДобавить в закладки

   

Maryiiiiima

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 2 | Зарегистр. 03-05-2017 | Отправлено: 21:48 14-05-2017
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хоть бы цифры поменяли в этой классической задаче

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 12:05 15-05-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
strelok = new int[40];
Зачем объявлять эту переменную? Она нигде не используется и не нужна.

Цитата:
double [] popal=new double[100];
В этом массиве мы храним количество выбитых очков для каждого стрелка. Всего 40 стрелков. Почему размер массива = 100? Мы видим, что используются только первые 40 элементов. Нужно: new double[ 40 ]
Что делает внутренний цикл? Вычисляет (в переменную result) количество попаданий первых i стрелков: перед началом цикла в переменной должно храниться значение 0. На первом шаге добавляем количество попаданий первого стрелка. На втором шаге добавляем в эту переменную количество попаданий второго стрелка и т.д. до i-того стрелка.
Что делает внешний цикл? Он перебирает всех стрелков от второго до сорокового и для каждого стрелка:
1. Хранит в переменной i порядковый номер стрелка. (Значение этой переменной i мы используем во внутреннем цикле.)
2. Вызывает внутренний цикл, который вычисляет значение result, как сумму попаданий стрелков (от первого до  i-того)
3. Делит значение result на i (получается среднее арифметическое для i-го стрелка) и сохраняет это значение в i-той ячейке массива popal
4. Печатает это значение
 
В чём ошибка?
У вас значение result обнуляется только один раз - перед началом первого цикла. В дальнейшем, её значение только увеличивается. А нужно, чтобы оно обнулялось перед началом каждого вычисления суммы попаданий i-того стрелка.
Поэтому, передвиньте  строку "в переменную result" чуть ниже.
 
Кстати, если у вас есть отладчик, то запустите его по шагам, и посмотрите на каждом шаге, чему равны значения переменных i, j и result. Всё станет понятным, а жизнь - счастливой.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 13:12 15-05-2017
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
landy

Цитата:
хоть бы цифры поменяли
оно (иначе не назовёшь) написало
Цитата:
Написала такой код


Цитата:
ибо в этой фигне не шарю вообще! Через месяц сдавать... Что делать не знаю(((
продолжать учиться на программиста не шарить...
 
Добавлено:
 
и вообще нехрен отдельный топ заводить, прибейте, начальники...
 
http://forum.ru-board.com/topic.cgi?forum=33&topic=6138#1

Всего записей: 24114 | Зарегистр. 06-12-2002 | Отправлено: 17:00 15-05-2017
marck1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
public class Strelok {
    public static void main(String[] args) {
        int strelok[] = new int[40];
 
        strelok[0] = 50;
        strelok[1] = 70;
        int sum = 120;
        for (int i = 2; i <40 ; i++) {
            strelok[i]=sum/i;
            sum = strelok[i]+sum;
 
        }
        System.out.println(strelok[36]);
    }
 
}
ну вот, либо я условие плохо читаю, ответ у всех 60

Всего записей: 2 | Зарегистр. 19-12-2017 | Отправлено: 05:28 19-12-2017
   

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задача Java
ShIvADeSt (19-12-2017 09:51):


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru