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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Треугольник, круг, прямоугольник http://www.cyberforum.ru/cpp-beginners/thread204088.html
Необходимо создать эти 3 фигуры, и вывести их на экран в консоли. Фигуры можно двигать. Дайте какие-нибудь рекомендации.
C++ Удалить все символы от "I" до "N" Составить программу, которая вводит строку символов, выполняет ее обработку в соответствии с заданием и затем выводит результаты. Задание:Удалить все символы от "I" до "N" кто знает подскажите... http://www.cyberforum.ru/cpp-beginners/thread204074.html
C++ Обработка текста
Всем привет.Недавно начал изучать C ,а тут нужно,точнее необходимо сотворить на нем задачку следующего содержания Задана фраза-последовательность,содержащая от 2 до 30 слов , в каждом из которых от...
C++ Найти минимальное остовное дерево
Дан полный взвешенный граф, кол-во вершин задается пользователем, вес ребер рандомный от 1 до 100. Найти минимальное остовное дерево при помощи алгоритма представленного ниже. Алгоритм Работа...
C++ Вычисление минимального числа из М чисел http://www.cyberforum.ru/cpp-beginners/thread204049.html
Помогите пожалуйста... Задание звучит так:"Вычислите минимальное из М чисел, где М задается в виде параметра функции."
C++ Исправить ошибку в тексте Я новичок в программировании. Помогите пожалуйста в решении задачи: Ввести строку. Если встречается ошибка "жы" или "шы", исправить. Я пыталась решить так char S; int i; puts ("Vvedite text ");... подробнее

Показать сообщение отдельно
CHUCKe
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25

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

05.12.2010, 20:04. Просмотров 391. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru