Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2011, 07:10   #1
Calv
Пользователь
 
Регистрация: 22.07.2011
Сообщений: 16
По умолчанию В чем косяк???

собственно код:

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
 int i,j;
 char s[10];



struct humer
        {
        char name[20];
        char sirname[20];
        int bithday;
        };
humer ar1[4],ar2[4], buf[4];
for(i=0;i<4;i++)
        {
        printf("input name: ");
        gets(ar1[i].name);
        printf("input sirname: ");
        gets(ar1[i].sirname);
        printf("input bithday: ");
        gets(s);
        ar1[i].bithday=atoi(s);
        printf("---------------\n");
        }

for(j=0;j<4;j++)
        {
        for(i=0;i<4;i++)
                {
                if(ar1[i].bithday > ar1[i+1].bithday)
                        {
                        buf[i]=ar1[i+1];
                        ar1[i+1]=ar1[i];
                        ar1[i]=buf[i];
                        }
                }


        }
  for(i=0;i<4;i++)
        {
        ar2[i]=ar1[i];
        printf("%s %s %d\n",ar2[i].name,ar2[i].sirname, ar2[i].bithday);
        }



getch();
return 0;
}
а тут вот ругается

1.JPG

Последний раз редактировалось Calv; 11.11.2011 в 07:34.
Calv вне форума Ответить с цитированием
Старый 11.11.2011, 07:57   #2
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

а вы че вообще хотели сделать в этой программе?
Kukurudza вне форума Ответить с цитированием
Старый 11.11.2011, 08:23   #3
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Calv Посмотреть сообщение
Код:
humer ar1[4],
...
        for(i=0;i<4;i++)
                {
                if(ar1[i].bithday > ar1[i+1].bithday)
Когда индекс i равен 3, а мы прибавляем единицу, то получаем выход за пределы массива.
An1ka вне форума Ответить с цитированием
Старый 11.11.2011, 08:46   #4
Calv
Пользователь
 
Регистрация: 22.07.2011
Сообщений: 16
По умолчанию

Все верно, не учел, спасибо большое
Calv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Косяк в программе. Yu1iya Паскаль, Turbo Pascal, PascalABC.NET 1 01.05.2011 21:46
А мой косяк в чем? :) zumm Общие вопросы Delphi 3 09.07.2010 15:25
косяк с подключением momuma Помощь студентам 0 23.01.2010 21:48
Граббер, в чем косяк? Arsmuzhik PHP 1 09.07.2009 00:10
Косяк Sanctuar Помощь студентам 1 18.06.2007 07:36