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

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

Войти
Регистрация
Восстановить пароль
 
CHUCKe
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25
#1

структура - C++

05.12.2010, 20:04. Просмотров 400. Ответов 3
Метки нет (Все метки)

вывести список на экран упорядочив по автору а внутри каждого автора по году издания.
вот что получилось у меня но выводит неправильно.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
    
typedef struct
{
    char name[15];
    char book[20];
    int god;
    int kolvo;
}litera;
 
int check_small_1(char *str)
{
     cout<<strlen(str)<<endl;
     for(int i=0;i<strlen(str);i++)
      if (isdigit(str[i]))
        return 0;
     return 1;
}
 
int check_small_2(char *str)
{
    cout<<strlen(str)<<endl;
    for(int i=0;i<strlen(str);i++)
     if (isalpha(str[i]))
       return 0;
    return 1;
}
 
int check(char *str,litera *elem)
{
   char nametemp[15];
   int j=0,i=0;
   while(str[i]!=' '&&i<strlen(str))
   {
      nametemp[i]=str[i];
      i++;
   }
   nametemp[i]=0;
   if (i==strlen(str))
     return  0;
   if (!check_small_1(nametemp))
     return 0;
     
   j=i;
   i=0;
   j++;
   char nazvtemp[20];
   while(str[j]!=' '&&j<strlen(str))
   {
     nazvtemp[i]=str[j];
     i++;
     j++;
   }
   nazvtemp[i]=0;
   if (j==strlen(str))
     return 0;
   if (!check_small_1(nazvtemp))
     return 0;
     
   i=0;
   j++;
   char godtemp[4]; 
   while(str[j]!=' '&&j<strlen(str))
   {
     godtemp[i]=str[j];
     i++;
     j++;
   }
   godtemp[i]=0;
   if (j==strlen(str))
     return 0;
   if (!check_small_2(godtemp))
     return 0;
   char kolvotemp[3];
   
   i=0;
   j++;
   while(j<strlen(str))
   {
     kolvotemp[i]=str[j];
     i++;
     j++;
   }
   kolvotemp[i]=0;
   if (!check_small_2(kolvotemp))
      return 0;
   
   strcpy(elem->name,nametemp);
   strcpy(elem->book,nazvtemp);
   elem->god=atoi(godtemp);
   elem->kolvo=atoi(kolvotemp);
   return 1;
   
     
     
};
 
    
 
//ïåðåä ïåðâûì ñëîâîì Г*ГҐГІ ïðîáåëГ*
 
int main()
{
    int delta;
    cout<<"Kol-vo elementoff"<<endl;
    cin>>delta;
    litera arr[delta];
    
    char s[100];//äëÿ ГўГ±ГҐ ñòðîêè
    int k=0,i=0;
    
    for(int k=0;k<delta;k++)
    {
    litera temp;
    gets(s);
    if (s[0]==0) 
      break;
     int ch=check(s,&temp);
    if (ch==1)
     arr[i]=temp;
    else 
     cout<<"Incorrect!!!\n"<<endl;     
    }
    
    //óïîðÿäî÷èòü ГґГ*ìèëèè ГЇГ® Г*ëôГ*ГўГЁГІГі
    for(int i=delta-1;i>=2;i--)
     for(int j=2;j<=i;j++)
      if (strcmp(arr[j].name,arr[j-1].name)>0)
       { 
        litera x=arr[j];
        arr[j]=arr[j-1];
        arr[j-1]=x;
       }
    
    //ñîðòèðîâêГ* "ïóçûðüêîì" ГЇГ® ãîäГ*Г¬.
    for(i=delta-1;i>=2;i--)
      for(int j=2;j<=i;j++)
          if ((arr[j].god > arr[j - 1].god)&&(arr[j].name==arr[j-1].name))
          {
              litera x = arr[j];
              arr[j] = arr[j - 1];
              arr[j - 1] = x;
          }
    
    cout<<"Data"<<endl;
    for(i=0;i<delta;i++)
     cout<<arr[i].name<<" "<<arr[i].book<<" "<<arr[i].god<<" "<<arr[i].kolvo<<endl;
     
     
     return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 20:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос структура (C++):

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Структура DateTime, битовая структура - C++
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...

Структура, доступная из всех файлов проекта ("глобальная" структура) - C++
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Структура - C++
Сделайте, что нибудь по структуре в си++. Нужно очень срочно...

структура - C++
Сформировать массив, содержащий сведения об отправлении поездов дальнего следования с Казанского вокзала. Комбинированный тип содержит...

3
3a4em
11 / 11 / 1
Регистрация: 05.12.2010
Сообщений: 26
05.12.2010, 20:10 #2
ты бы хоть коментарии написал а то так тяжко в коде разбираться =)
0
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
05.12.2010, 21:59 #3
3a4emч читать можно, не нужны там камменты. ну может только в общем виде к функциям
CHUCKe 141 строка - отсутсвует объявление итератора, но дело не в этом.

Не работает ваша сортировка, вернее работает, но не сортирует.
0
3a4em
11 / 11 / 1
Регистрация: 05.12.2010
Сообщений: 26
05.12.2010, 22:02 #4
Vladimir., с комментариями легче читать
0
05.12.2010, 22:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2010, 22:02
Привет! Вот еще темы с ответами:

Структура - C++
Я не давно начал изучать C++, сам пробовал, мало что получилось. Условие задачи: Дана следующая информация о книгах библиотеки: автор,...

структура - C++
Помогите Создать структуру для работы с матрицей. Данные структуры: матрица A(3×3). Создать функции: ввод матрицы, вывод матрицы в...

Структура - C++
Описать структуру с именем TRAIN, содержащую следующие поля: Название пункта; номер поезда; Время отправления; Программа...

структура - C++
здорово вем это снова я =) помогите написать структуру там про автобус : маршрут, время прибытия, интервал времени, и т п ...


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

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

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