Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
22 / 22 / 4
Регистрация: 04.05.2012
Сообщений: 73

Простая задача с массивами

09.05.2012, 20:30. Показов 1128. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, на сайте acmp.ru/asp/gb.asp?page2=1&id=9&page=1 есть задача,

Я ее решил, у меня все работает, и когда я подставляю в input.txt значения примеров и сравниаю ответ со своим ответом, то все правильно выводится.

Но когда я задачку отправляю на сервер для проверки мне на первом же тести пишется что неправильный ответ.


Где и в чем у меня ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream iFile("input.txt");
    ofstream oFile("output.txt");
    int cnt;
    iFile >> cnt;
    int *arr = new int[cnt];
    int max,min,pmd,pbe;
    int mxInd,mnInd,k;
    for(int i = 0; i<=cnt; i++)
        iFile >> arr[i];
    pmd = 0;
    for(int i = 0; i<=cnt; i++)
        if(arr[i]>0)
            pmd += arr[i];
    max = arr[0];
    min = arr[0];
    mxInd = 0;
    mnInd = 0;
    for(int i = 0; i<cnt; i++)
    {
        if(arr[i]>max){max = arr[i];mxInd = i;}
        if(arr[i]<min){min = arr[i];mnInd = i;}
    }
    
    if(mnInd>mxInd)
    {
        k = mnInd;
        mnInd = mxInd;
        mxInd = k;
    } 
 
    pbe = 1;
    for(int i = mnInd+1; i<mxInd; i++)
        pbe *= arr[i];
    oFile << pmd << " " << pbe;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2012, 20:30
Ответы с готовыми решениями:

Простая задачка с массивами
Я наперсал программу которая находин максимальный елемент массива и его порядковый номер, все работает хорошо: #include...

простая задача
Напишите программу, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства,...

Простая задача
Помогите пожалуйста решить. Имеется в наличии 3 арбуза. Найти самый тяжелый. Примечание: решить задачу, используя язык...

3
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
09.05.2012, 21:12
Цитата Сообщение от Арсен Посмотреть сообщение
Где и в чем у меня ошибка?
во-первых, в конце main() напишите return 0;
во-вторых, сделайте проверку на то что mxInd больше mnInd на 2 и более. Если нет (между максимальным и минимальным нет чисел, т.к. они стоят рядом, или совпадают), то выводите произведение 0 (у Вас выводит 1).
1
22 / 22 / 4
Регистрация: 04.05.2012
Сообщений: 73
09.05.2012, 22:29  [ТС]
Спасибо, но у меня всеравно тест не проходит

вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream iFile("input.txt");
    ofstream oFile("output.txt");
    int cnt;
    iFile >> cnt;
    int *arr = new int[cnt];
    int max,min,pmd,pbe;
    int mxInd,mnInd,k;
    for(int i = 0; i<=cnt; i++)
        iFile >> arr[i];
    pmd = 0;
    for(int i = 0; i<=cnt; i++)
        if(arr[i]>0)
            pmd += arr[i];
    max = arr[0];
    min = arr[0];
    mxInd = 0;
    mnInd = 0;
    for(int i = 0; i<cnt; i++)
    {
        if(arr[i]>max){max = arr[i];mxInd = i;}
        if(arr[i]<min){min = arr[i];mnInd = i;}
    }
    if(mnInd>mxInd)
    {
        k = mnInd;
        mnInd = mxInd;
        mxInd = k;
    }
    pbe = 1;
    if(mxInd-mnInd < 2) oFile << pmd << " " << 0;
    else
    {
        for(int i = mnInd+1; i<mxInd; i++)
            pbe *= arr[i];
        oFile << pmd << " " << pbe;
    }
    return 0;
}
Не могу понять в чем ошибка.
Пробовал несколько условий ставить но без смысленно, вроде я у себя тести сам писал разние знаечения во всех случаях правильный ответ.
А в чем проблема не понемаю.
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
10.05.2012, 05:57
Цитата Сообщение от Арсен Посмотреть сообщение
А в чем проблема не понемаю.
В двух местах исправите одинаковую ошибку и сдадите:

Цитата Сообщение от Арсен Посмотреть сообщение
C++
1
for(int i = 0; i<=cnt; i++)// Здесь выход за границы массива. Нужно писать i<cnt
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2012, 05:57
Помогаю со студенческими работами здесь

простая задача
Недавно руководством одной известной автомобильной телепередачи «Верхняя шестерня» было решено провести обзор автомобилей на солнечных...

Простая задача
Друзья, в общем если нарушаю какие-либо правила заранее извиняюсь. В общем говорю честно я студент, и в с++ пока что в общем то 0. Прошу...

Простая задача.
Пожалуйста помогите кто может, очень нужно Даны натуральное число n, действительные числа a1,...,an (1 и n это нижние индексы). Выяснить...

Простая задача?
Здравствуйте! После участия в ДЛКШ я понял, что очень много не знаю даже о самых элементарных вещах в Си\Си++. Например, обыкновенная...

простая задача на цикл
Определите сумму всех элементов последовательности, завершающейся числом 0. Числа, следующие за нулем, считывать не нужно. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru