Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_Goodwin
8 / 8 / 3
Регистрация: 28.11.2012
Сообщений: 93
#1

Сортировка одномерного массива: "Stack around variable was corrupted" - C++

16.03.2013, 17:38. Просмотров 521. Ответов 3
Метки нет (Все метки)

при компиляции выдает "Run-Time Check Failure #2 - Stack around the variable 'mass' was corrupted."
(при перекомпиляции вывод постоянно разный)



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
//программа для сортировки одномерного массива
 
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main ()
{
    double mass[70]={   
                        3.28,   3.14,   2.96,   2.98,   3.01,   3.25,   3.28,
                        3.14,   2.72,   2.78,   2.86,   2.96,   3.30,   3.16,
                        2.98,   3.00,   3.03,   3.27,   3.30,   3.16,   2.74,
                        2.80,   2.84,   2.98,   3.26,   3.12,   2.94,   2.96,   
                        2.99,   3.23,   3.26,   3.12,   3.08,   2.76,   2.80,
                        2.94,   3.24,   3.06,   3.08,   2.92,   3.35,   3.38,
                        3.24,   2.92,   2.88,   2.92,   3.15,   3.18,   3.04,
                        2.86,   2.88,   2.91,   3.12,   3.28,   3.04,   2.62,
                        2.68,   2.72,   2.86,   3.28,   2.78,   3.14,   3.14,
                        2.96,   2.72,   2.98,   2.78,   3.12,   2.82,   3.25
                    };
    int i=0,j=0;
    double temp=0;
 
    for (j=0;j<70;j++)
    for (i=0;i<70;i++)
    {
        if (mass[i]>mass[i+1]) {temp=mass[i]; mass[i]=mass[i+1]; mass[i+1]=temp;} 
    }
 
    j=0;
    
    for (i=0;i<70;i++)
    { 
        
        if (j==7) {j=0; cout << endl;}
        cout << " "<< mass[i] << " ";
        j++;
    }
 
    cout<<endl<<endl;
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2013, 17:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка одномерного массива: "Stack around variable was corrupted" (C++):

Ошибка "Stack around the variable 'a' was corrupted" при завершении программы - C++
Учусь создавать списки. Идея такова чтобы создать список в отдельном cpp, а пользователь имел доступ только к функциям добавления, удаления...

Как отследить ошибку "Stack around the variable was corrupted."? - C++
Вообщем код большой. Несколько классов, десяток функций. Ошибка всплывает только после завершения функции main(). Вот как бы научить...

"Stack around the variable 'a' was corrupted" при выводе содержимого файла на экран - C++
Доброго времени суток, компиляции программы вылетает такая ошибка Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. ...

Netbios, ошибка "Stack around the variable was corrupted" - C++
помогите плииз есть вот такой код #include &lt;windows.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Ошибка при работе с массивом: "Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted." - C++
Ребята, помогите пожалуйста, при комплиляции программы иногда вылезает строчка: &quot;Run-Time Check Failure #2 - Stack around the variable...

Ошибка "stack around the variable 'n' was corrupted." - C++
Есть такая программа. Натуральные числа от 0 до n(a0-an) Необходимо найту сумму всех чисел кратных 5. Выдает ошибку stack around the...

3
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
16.03.2013, 17:56 #2
Stack around the variable 'mass' was corrupted
Это ошибка выход за границы массива.
А выход он по видимому вот сдесь
C++
1
 if (mass[i]>mass[i+1]) {temp=mass[i]; mass[i]=mass[i+1]; mass[i+1]=temp;}
т.е. при i=69 ты пытаешься проверить условие 69+1.
могу по советовать добавь условие выхода из цикла
C++
1
if(i==69) break;
и добавь его перед
C++
1
 if (mass[i]>mass[i+1]) {temp=mass[i]; mass[i]=mass[i+1]; mass[i+1]=temp;}
так не красиво но зато быстро, но лучше переделай условие.
1
_Goodwin
8 / 8 / 3
Регистрация: 28.11.2012
Сообщений: 93
16.03.2013, 18:01  [ТС] #3
Цитата Сообщение от egor2116 Посмотреть сообщение
для чего первый цикл, ты его не используешь
Для сортировки по возрастанию (при 1 прогоне в конце массива будет найден самый большой элемент, но никак не отсортирован, если это не массив с 2-мя ячейками).
0
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,132
16.03.2013, 18:03 #4
да да я увидел удалил сообщение но видимо не успел
0
16.03.2013, 18:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2013, 18:03
Привет! Вот еще темы с ответами:

Ошибка: "Stack around the variable was corrupted" - C++
во время компиляции выскакивает такая ошибка как на скриншоте!!! код программы в архиве!!!кто может подскажите в чем проблема

Stack around the variable 's' was corrupted - C++
Помогите разобраться! Не пойму почему иногда при использовании в программе переменных char при закрытии программы выскакует одна и та же...

Stack around the variable was corrupted - C++
Здравствуйте, при решении задания по созданию класса возникла ошибка Run-Time Check Failure #2 - Stack around the variable 'a' was...

stack around the variable was corrupted - C++
Программа заканчивает работу а потом выбивает: stack around the variable 'koef' was corrupted В чем проблема и как ее исправить? ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru