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

Переполнение массива

12.02.2013, 23:11. Показов 5221. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день господа.
Столкнулся с очередной проблемой и не знаю как решить.
Где то в этой программе происходит переполнение массива A. Помогите найти мою ошибку, пожалуйста. :3

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
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
#define SIZE 3
#define x A[0]
#define y A[1]
#define a A[2]
#define b A[3]
 
int main( )
{
    float A[SIZE],d,c,result;
    cin >> A[0]; //x
    cin >> A[1]; //y
    cin >> A[2]; //a
    cin >> A[3]; //b
    if ((a == b) || (y <= 0)) 
    {
        printf("Incorrect data");
    } else {
        d = ((4 - x * x) * tan(2)) / (sqrt(a) - sqrt(b));
        c = sin(pow((1 + pow((log(y) / log(3)), 1/3)), 4));
    
        if (d*d + c*c <= 10) 
            result = d + c;
        else 
            result = sqrt(abs(d + c));
 
        printf("%0.3f\n", result);
    }
    _getch();
    return 0;
}
Кому интересно, что за формулы:
https://www.dropbox.com/s/741guqixgd4q2hl/123.jpg
https://www.dropbox.com/s/l3e0iwfyhkn2xoe/124.jpg
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2013, 23:11
Ответы с готовыми решениями:

Переполнение массива
Товарищи, имею такой вопрос- есть у меня часть кода, которая отвечает за загрузку из интерне xml файла и созраняющая его в массив. Все...

Снова про переполнение массива
#include &lt;iostream&gt; using namespace std; int main () { char ar; cin &gt;&gt; ar; cout &lt;&lt; ar; return 0; ...

Не пойму где происходит переполнение массива
Я ошибся не переполнение, а выход за пределы #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;ctime&gt; using namespace std; ...

11
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
12.02.2013, 23:18
Что такое "переполнение массива"?
1
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
12.02.2013, 23:19  [ТС]
Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted.
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
12.02.2013, 23:21
Вы задаете SIZE 3, а у самого 4 элемента в массиве.
0
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
12.02.2013, 23:23  [ТС]
Прошу прощения, был не совсем честен с вами.
У меня так же есть примеры ввода и вывода:
Ввод 1
2 3 4 5
Вывод 1
-0.288

Весь парадокс в том, что программа выдает верный ответ, а затем выдает как раз то сообщение:
Run-Time Check Failure #2 - Stack around the variable 'A' was corrupted.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
12.02.2013, 23:24
Оу, я просто код не читал. Когда вы указываете в квадратных скобках 3, вы просто создаете массив из трёх элементов, следовательно если вы обратитесь к третьему элементу — вы нарушите границы массива.
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
12.02.2013, 23:25
C++
1
#define SIZE 4
0
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
12.02.2013, 23:26  [ТС]
Извольте, но разве нумерация массивов начинается с единицы?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
12.02.2013, 23:26
R0adTr1p, в Си — с нуля, следовательно, в С++ — тоже.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
12.02.2013, 23:28
Цитата Сообщение от R0adTr1p Посмотреть сообщение
Извольте, но разве нумерация массивов начинается с единицы?
начинается - с нуля
заканчивается, если можно так выразится, на SIZE-1 включительно
1
16 / 16 / 3
Регистрация: 06.02.2013
Сообщений: 57
12.02.2013, 23:28
R0adTr1p, float A[SIZE] значит что создаётся массив вещественных чисел на SIZE элементов
0
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
12.02.2013, 23:31  [ТС]
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
начинается - с нуля
заканчивается, если можно так выразится, на SIZE-1 включительно
Все понятно.) Спасибо. Что то я снубил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2013, 23:31
Помогаю со студенческими работами здесь

Переполнение массива объектного типа string
Не получается инициализировать двумерный string-массив во время выполнения кода: #include &lt;iostream&gt; #include...

Исключительная ситуация (переполнение массива сверху)
Изучаем сейчас исключительные ситуации и нужно привести пример , т.е. вызвать исключительную ситуацию для переполнения массива сверху или...

Переполнение стека в рекурсивной функции сортировки большого массива
Написал рекурсивную функцию сортировки массива, с массивами небольших размеров все работает как надо, а вот если сортирую побоьлше (60000...

Переполнение
При вводе слишком большого числа (например: 4444444444444444) программа зацикливается и постоянно выводит &quot;Ошибка. Введенный элемент...

Переполнение
Доброго времени суток! Есть код: void menu() { IndexList Universal; List *tmp = NULL; int punkt_menu; char *value =...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru