Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C] Реализация списка, срочно ! 
:(
    Опции темы
exo
Дата 19.3.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.2.2007

Репутация: -1
Всего: нет



Помогите (срочно!) создать СПИСОК и вывести его на экран.
список (телевизоров) из 3-ёх составляющих : 
     - Название 
     - Диагональ
     - Цена  
       в литературе ничего хорошего не могу найти .
  помогите кто чем может. очень нужно . заранее списибо !
   








PM MAIL   Вверх
exo
Дата 19.3.2007, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.2.2007

Репутация: -1
Всего: нет



похожее задание

В элементе списка содержатся данные о рейсах самолётов:
 № рейса
 тип самолёта
 конечный пункт полёта

Ввести название пункта назначения и выдать всерейсы, связаные с этим пунктом. Сформировать 
из них отдельный список.

P.S
Я непрошу писать прогу полностью, может есть у кого какие нибудь заготовки или ещё что нибудь.
Прошу скинуть. Неуспеваю катострофически.    

Это сообщение отредактировал(а) Kuvaldis - 20.3.2007, 11:44
PM MAIL   Вверх
Kuvaldis
Дата 19.3.2007, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

Репутация: 32
Всего: 61




M
Kuvaldis
1. На нашем форуме не принято обращаться так "чуваки"
2. Название теме даем в соответствии с общепринятыми на форуме правилами (читаем вверху страницы)
3. Посмотри в Центре помощи последние темы. Даже недавно что-то обсуждали по структурам (поиск  - вещь хорошая) 


Это сообщение отредактировал(а) Kuvaldis - 19.3.2007, 23:59


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
apook
Дата 20.3.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 10
Всего: 23



Код

/*
    Односвязный, динамический список.
    Определение структурного списка "Звено списка":
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>

#include<conio.h>

#define AIR  0
#define CITY 1

#define N ( sizeof(aplanes) / sizeof(aplanes[ 0 ]) )

char aplanes[ ][ 50 ]=
{ "AirBus", "Як-40", "Boing-17", "Ту-134", "Руслан",
  "Конкорд", "Ковчег", "Летун-4", "Пю", "veneer"
    };

char Dest[ N ][ 100 ]=
{ "Kiev", "Yakuts", "Moscow", "Kiev", "Irkutsk",
  "Moscow", "Amsterdam", "Alma-Ata", "Peking", "Paris"
    };

struct cell
{

    int Nr;
    char Info[ N ][ 100 ];
    struct cell *pc;
    };

struct Newcell
{
    int Nr;
    char Info[ N ][ 100 ];
    struct Newcell *pc;
    };

void main()
{
int i, c;
char option[ 100 ];


struct cell *rex;        /* указатель для перебора звеньев списка */
struct cell *begin=NULL; /* начало списка */
struct cell *end=NULL;   /* конец списка */


struct cell *Nrex;
struct cell *Nbegin=NULL;
struct cell *Nend=NULL;



/* цикл ввода и формирования списка */
for( i=0, c=0; i<10; ++i )
{
    rex=( cell * ) malloc ( sizeof( cell ) );

    /* ввод значений элементов звена */
    rex->Nr=i;
    strcpy( rex->Info[ AIR ], aplanes[ i ] );
    strcpy( rex->Info[ CITY ], Dest[ i ] );

    /* включить звено в список */ 
    if( begin==NULL && end==NULL )  begin=rex;  //если список пуст
    else  end->pc=rex; //или включить звено в уже существующий список
    end=rex;
    end->pc=NULL;
    }


printf( "Наберите название пункта назначения из списка(нажмите Enter) :\n\n" );
for( i=0; i<N; ++i )
    printf( "%s\n-------------------\n", Dest[ i ] );
gets( option );

printf( "\nВы выбрали ---= %s =---\n\n", option );

/* организуем новый список */
rex=begin;
while( rex!=NULL )
{

    if( strcmp( rex->Info[ CITY ], option )==0 )
    {
        Nrex=( cell * ) malloc ( sizeof( cell ) );

        Nrex->Nr=rex->Nr;
        strcpy( Nrex->Info[ AIR ], rex->Info[ AIR ] );
        strcpy( Nrex->Info[ CITY ], rex->Info[ CITY ] );

        if( Nbegin==NULL && Nend==NULL )  Nbegin=Nrex;
        else  Nend->pc=Nrex;
        Nend=Nrex;
        Nend->pc=NULL;
        }
    rex=rex->pc;
    }

/* напечатать список */
printf( "Туда летят: Рейс № | Тип самолета\n----------------------------------\n" );
Nrex=Nbegin;
while( Nrex!=NULL )
{
    printf( "%18d | %s\n", Nrex->Nr, Nrex->Info[ AIR ] );
    Nrex=Nrex->pc;
    }

getch();
return;
}



--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.