Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871

Глюк gcc?

04.10.2013, 18:06. Показов 728. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Компилируя программу в gcc, выводит от части неверный ответ. В code::blocks все в порядке. Как это понимать?
Программа выполняет сдвиг массива: 45, 88, 71, 31, 72, 55, 64, 81, 99, 10. При введенном шаге - 1, массив должен принять вид: 10, 45, 88, 71, 31, 72, 55, 64, 81, 99. Но в gcc это не так.

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
#include <stdio.h>
 
#define SIZE 10
 
int main()
{
    int a[SIZE] = {45, 88, 71, 31, 72, 55, 64, 81, 99, 10};
    int buff, i, j;
    int step;
 
    for(i = 0; i <= SIZE - 1; i++)
    {
        printf("%5d", a[i]);
    }
    printf("\nEnter the pitch shift: ");
    scanf("%d", &step);
 
    for(j = 1; j <= step; j++)
    {
    for (i = 0; i <= SIZE - 1; i++)
        {
            buff = a[SIZE - i];
            a[SIZE - i] = a[SIZE - (i + 1)];
            a[SIZE - (i + 1)] = buff;
        }
    }
 
    for(i = 0; i <= SIZE - 1; i++)
    {
        printf("%5d", a[i]);
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2013, 18:06
Ответы с готовыми решениями:

Глюк печатания и глюк порчи константы
Дамы и господа! Я столкнулся с двумя глюками, которые не нашёл в списке распространённых ошибок. 1) При попытке распечатать массив...

Gcc и c++
Доброго времени суток. Начну с предисловия. Я всегда писал на C++ под винду и в линукс не совался. Сейчас, я выполняю задание(тестовое) и...

gcc в c++ VS
void MakeStrRef(RCString* sref,char* data){ asm(&quot;pushl %%eax\n&quot; &quot;call %%edx&quot; : ...

4
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
04.10.2013, 18:26
Цитата Сообщение от Ryuk Посмотреть сообщение
Компилируя программу в gcc, выводит от части неверный ответ. В code::blocks все в порядке
Как вот это понимать? gcc - это компилятор. code::blocks это IDE. Причем эта самая IDE использует gcc в качестве компилятора.

По поводу вопроса: где, по Вашему, число 10 ( в случае когда, как Вы сказали, вводите 1 ) записывается в начало массива?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
04.10.2013, 18:33
C++
1
2
3
4
    for (i = 0; i <= SIZE - 1; i++)
        {
            buff = a[SIZE - i];
            a[SIZE - i] = a[SIZE - (i + 1)];
SIZE - 0 == SIZE
Следовательно имеем выход за пределы массива a[SIZE] = ...
1
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
04.10.2013, 18:36  [ТС]
Toshkarik, Почему результаты разные? В ide тот что нужен, в mingw нет.

Добавлено через 56 секунд
Croessmah, да, вот. Я это тоже видел, но он выполняется все равно правильно, думал что это не влияет
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
04.10.2013, 18:43
Цитата Сообщение от Ryuk Посмотреть сообщение
Почему результаты разные? В ide тот что нужен, в mingw нет.
Потому что выход за пределы массива это UB. Результат может различаться от версии к версии ( даже релизной ), а у Вас, скорей всего, как раз разные версии mingw.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2013, 18:43
Помогаю со студенческими работами здесь

GotoXY в GCC
ДОБРОГО ВРЕМЕНИ СУТОК !!! Я использую GCC и мне нужно использовать функцию GotoXY. В GCC нет библиотеки conio.h. Прошу дать код...

gcc компиляция
Проблема возникла при компиляции проекта code::block. При build and run все работает, в папке bin проекта появляется .exe Но...

gcc VS DEV-C++ 4.9.9.2
Люди!! Срочно нужны знающие люди по данному вопросу.Только сейчас узнал,что вся практика будет в gcc...... Какие отличия вообще между ними...

g++/gcc не компилирует
есть С++ код #include &lt;iostream&gt; int main(){ std::cout &lt;&lt; &quot;hello ,world!&quot;; } запускаю компилятор и он ничего не...

Компиляция gcc
Подскажите как в VS скомпилировать программу с помощью компилятора gcc


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru