1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 30
1

Некорректная работа программы

20.01.2016, 15:13. Показов 1786. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Я попытался решить задачу № 5 "Статистика" с сайта acmp.ру.
Текст задачи:

Кликните здесь для просмотра всего текста
Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать, расположив четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку 4, если четверок не меньше, чем троек.

Входные данные

В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1<=N<=100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.

Выходные данные

В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.

Входные данные (INPUT.TXT):
5
4 16 19 31 2
Корректные выходные данные (OUTPUT.TXT):
19 31
4 16 2
YES

Мои некорректные выходные данные:
41621931-33686019NO

Код моей программы:
(ввод/вывод данных осуществляется в файл)
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
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int main() {
    int GoodCount; int BadCount; GoodCount = 0; BadCount = 0;
    ifstream fin("INPUT.TXT");
        int N; 
        if (fin)
        fin >> N;
        else {
            cout << "Error opening file!\n";
            system("pause");
            return 0;
        }
    int *Collector = new int[N];
        for (int i = 0; i <= N; ++i) {
            fin >> Collector[i];
            if (Collector[i] % 2 == 0) GoodCount = GoodCount + 1;
            else
                BadCount = BadCount + 1;
        }
 
    ofstream fout("OUTPUT.TXT");
    for (int i = 0; i <= N; ++i) 
        if (Collector[i] % 2 == 0) fout << Collector[i];
        for (int i = 0; i <= N; ++i) 
            if (Collector[i] % 2 != 0) fout << Collector[i];
        if (GoodCount > BadCount) fout << "YES\n";
        else
            fout << "NO\n";
        system("pause");
        return 0;
}
Вы не знаете как исправить проблему с выводом некорректных данных? Заранее благодарен за ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2016, 15:13
Ответы с готовыми решениями:

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

некорректная работа программы
В файлах, которые генирируются со случайными выдает всякую чушь using namespace std; int main()...

Некорректная работа программы
Суть программы в том, что есть записанные в файле слова с ответами (разделены &quot;\t\t&quot;). Программа...

Некорректная работа программы с float данными
Вот код примитивного калькулятора: #include &lt;iostream&gt; #include &lt;float.h&gt; #include &lt;conio.h&gt; ...

2
1 / 1 / 1
Регистрация: 02.12.2013
Сообщений: 30
20.01.2016, 15:20  [ТС] 2
Нет, я присвоил, наверное.

C++
1
2
int main() {
    int GoodCount; int BadCount; GoodCount = 0; BadCount = 0;
0
Модератор
Эксперт С++
13642 / 10863 / 6453
Регистрация: 18.12.2011
Сообщений: 28,971
20.01.2016, 15:28 3
Пардон.
Форматируйте текст более читабельно.
Либо так
C++
1
2
3
   int GoodCount,BadCount;
   GoodCount = 0; 
   BadCount = 0;
Либо так
C++
1
   int GoodCount=0,BadCount=0;
Ошибка тут:
C++
1
for (int i = 0; i < N; ++i)
Везде < а не <=
И разделите числа пробелами
C++
1
fout << Collector[i]<<' ';
1
20.01.2016, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2016, 15:28
Помогаю со студенческими работами здесь

Некорректная работа программы после автозагрузки
Доброго времени суток.. Есть программа, которая запускает другую программу system(&quot;start...

Некорректная работа программы. Выбор (y/n). Цикл do while
Возникла проблема: Не получается назначить только клавишу y для продолжения. Цикл продолжается при...

Сортировка по возрастанию. Некорректная работа программы
Некорректно работает программа. Должно выводит по возрастанию. #include &quot;pch.h&quot; #include...

Некорректная работа программы,при вводе отрицательного числа
Здравствуйте.Есть некий // { int c; char array; printf( &quot;Vvod: &quot; ); ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru