Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Проблема с сортировкой

Ответить
Настройки темы
C/C++ - Проблема с сортировкой

Новый участник


Сообщения: 14
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg onforum.jpg
(55.1 Kb, 4 просмотров)
Не удается отсортировать записи по возрастанию номера рейса.
Код: Выделить весь код
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <locale.h>
 
 
struct AEROFLOT
{
 char CITY[30];
 int NUM;
 char TYPE[30];
};
 
AEROFLOT* filmas( int n )
#if 1
{
        char str[] = "city i";
        char str1[] = "type i";
        AEROFLOT *AIR = (struct AEROFLOT*) malloc(n * sizeof(struct AEROFLOT));
        srand( (unsigned) time( NULL ) );
        for ( int i = 0 ; i < n ; i++)
        {
                str[5] = char(i+49);
                strcpy( AIR[i].CITY, str );
                str1[5] = char(i+49);
                strcpy( AIR[i].TYPE, str1 );
                AIR[i].NUM = rand() % 100;
        }
        return AIR;
}
#else
{
        AEROFLOTT *AIR = (struct AEROFLOT*) malloc(n * sizeof(struct AEROFLOT));
        for ( int i = 0 ; i< n; i++)
        {
                fflush(stdin);
                printf("Введите название населенного пункта : ");
                scanf("%s",&air[i].city);
 
                printf("Введите номер рейса : ");
                scanf("%d",&air[i].num);
 
                printf("Введите тип самолёта :");
                scanf("%s",&air[i].type);
 
                printf("<-------------------------------==============------------------------------->\n");
        }
        return AIR;
}
#endif
 
void ordering( int n, AEROFLOT *AIR)
{
        if( !AIR ) return ;
 
        int x = 1;
        do
        {
                x=0;
                for (int i = 1; i < n; i++)
                {
                         if(AIR[i].NUM<AIR[i+1].NUM)
                         {
                                AIR[0]=AIR[i];
                                AIR[i]=AIR[i+1];
                                AIR[i+1]=AIR[0];
                                x=1;
                         }
                }
        }
                while(x);
}
 
void printstruct( AEROFLOT *AIR )
{
        printf( "Номер рейса : %d, название населенного пункта : %s, тип самолёта : %s \n", AIR->NUM, AIR->CITY, AIR->TYPE );
}
 
void printstructs( int n,  AEROFLOT *AIR )
{
        for ( int i = 0 ; i < n; i++ )
                printstruct( &AIR[i] );
}
 
 
void pointsearch( int n,  AEROFLOT *AIR )
{
        char check_nazv[20];
        printf("\nВведите название населенного пункта : ");
        fflush(stdin);
        gets (check_nazv);
        for ( int i = 0; i < n; i++ )
                if (strcmp( check_nazv, AIR[i].CITY ) == 0)
                        printstruct( AIR + i );
}
 
void task1()
{
        int n;
        printf("Введите количество рейсов : ");
        scanf("%d", &n);
        printf("\n");
 
        AEROFLOT* AIR = filmas(n);
        printstructs(n, AIR);
        ordering(n, AIR);
        printf("\n\n");
        printstructs(n, AIR);
        pointsearch(n, AIR);
        free( AIR );
}
 
 
 
int main ()
{
        setlocale(LC_ALL, "Russian");
        task1();
        system("pause");
        return 0;
}
вот что выдаёт в результате : (скриншот в правом углу)

Отправлено: 14:20, 11-12-2012

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Проблема с сортировкой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Проблема с материнской платой MSI MS-6590 (проблема памяти) Murman Материнские платы и память 2 12-03-2012 19:06
Проблема в ноутбуке Dell Inspiron N5110 . Странная проблема.... STRELOK Непонятные проблемы с Железом 2 12-11-2011 23:27
Delphi - Проблема с сортировкой таблицы!!! novashdima Программирование и базы данных 0 07-05-2010 20:44
Разное - Проблема установки Adobe Flash Player и проблема Windows Live RubinSky Microsoft Windows 7 3 26-03-2009 21:23
Выбор записей с сортировкой (MySQL) benya Вебмастеру 8 21-06-2006 21:09




 
Переход