Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91

При введении больше 20 чисел программа выдает странный результат

20.08.2013, 16:35. Показов 1567. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
46
47
48
49
50
51
#include <iostream>
#include <locale>
using namespace std;
 
double t1, t2;
 
int main()
{
    setlocale(LC_ALL, "RUS");
 
    int b, i, f,g;
    double c, c1;
 
    cout << "Введите кол-во учащихся: ";
    cin >> b;
 
    int* mas = new int [b];
    int* mas_1 = new int [b];
 
    cout << "Введите оценки 1 класса" << '\n';
    for (i=1; i<=b; i++){
        cout << i << ": ";
        cin >> f;
        if (f<1 || f >5){
        cout << "\nВведите оценку от 1 до 5: ";
        cin >> f;
        }
        else mas[i] = f;
    }
    cout << "\nВведите оценки 2 класса" << '\n';
    for (g=1; g<=b; g++){
        cout << g << ": ";
        cin >> f;
        if (f<1 || f >5){
        cout << "\nВведите оценку от 1 до 5: ";
        cin >> f;
        }
        else mas_1[g] = f;
    }
    c=c1=0;
    for (i=1; i<=b; i++) {
        c=c+mas[i];
    }
    for (g=1; g<=b; g++) {
        c1=c1+mas_1[g];
    }
    cout << "Средняя оценка 1 класса: " << (int)c/b << '\n';
    cout << "Средняя оценка 2 класса: " << (int)c1/b << '\n';
    system("pause");
    return 0;
}
При введении больше 20 чисел выдает странный результат, в чем ошибка?
И как сделать чтобы был цикл вечен, т.е. вот например пользователь вводит 0, а потом опять 0, и чтобы он вводил до тех пор пока не введет правильно.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2013, 16:35
Ответы с готовыми решениями:

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

Выдает очень странный конечный результат при вычеслении простой математической формулы
#include &lt;stdio.h&gt; #include &lt;Windows.h&gt; main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); double x, y, z, formul; ...

Программа с генератором случайных чисел не всегда выдает корректный результат
Небольшой &quot;шедевр&quot;. Вроде бы синтаксис верный, а вот работает периодически с ошибками. Как вы думаете, в чем причина? Sub Main() ...

4
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
20.08.2013, 16:36
Цитата Сообщение от Toshik_ Посмотреть сообщение
в чем ошибка?
В том, что индексация в массиве начинается с нуля. У Вас выход за пределы выделенной памяти
0
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
20.08.2013, 16:38  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
В том, что индексация в массиве начинается с нуля. У Вас выход за пределы выделенной памяти
А как исправить?
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.08.2013, 16:50
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Toshik_ Посмотреть сообщение
А как исправить?
C++
1
2
3
4
5
6
7
8
9
10
cout << "Введите оценки 1 класса" << '\n';
    for (i=0; i<b; i++){
        cout << i << ": ";
        cin >> f;
        if (f<1 || f >5){
        cout << "\nВведите оценку от 1 до 5: ";
        cin >> f;
        }
        else mas[i] = f;
}
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
20.08.2013, 16:53
Цитата Сообщение от Toshik_ Посмотреть сообщение
А как исправить?
Почитать учебник или хотя бы главу о массивах
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2013, 16:53
Помогаю со студенческими работами здесь

при введении конечных данных выдает ошибку
type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; StringGrid1: TStringGrid; Label2: TLabel; Edit2:...

Стирать результат работы калькулятора при введении числа
Здравствуйте. Есть работающий калькулятор Код Calculator.java import javax.swing.*; import java.awt.GridLayout; import...

Компилятор при делении больших чисел выдает не верный результат
Здравствуйте. Я только осваиваю азы программирования на С++. Компилятор используется g++ Нужно сделать задачу по контрольной сумме...

программа выдает результат только при некоторых значениях (ввод и сортировка массива методом пузырька)
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); int n; cout &lt;&lt; &quot;Ведите...

При использовании оператора GOTO зацикливается программа при введении букв.
Приветствую всех новых знакомых в этом храме программирования. Я новичек, пытаюсь программировать в С++ недавно. У меня возник вопрос...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru