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

Сортировка в списке. Запутался с укахателями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, сколько раз в массиве встретилось два подряд идущих нулевых элемента http://www.cyberforum.ru/cpp-beginners/thread711617.html
1. Сформировать целочисленный массив X (N), элементами которого являются случайные числа из диапазона . Определить, сколько раз в нем встретилось два подряд идущих нулевых элемента. Пожалуйста,...
C++ реализация записи матрицы и результата определителя в файл нужно реализовать запись введеной матрицы в файл (test.in), посчитать определитель матрицы и результат записать в файл (test.out). Для работы с файлами испоьзовать cstdio (stdio.h). Есть код... http://www.cyberforum.ru/cpp-beginners/thread711612.html
C++ Программа трамвайная сеть. Определить стоимость проезда на трамвае
Университетское задание для первокурсников, можно сказать первое задание по программированию. По идее, решение должно быть простым, но в голову не приходит ничего путевого (ну не использовать же...
C++ Инвертировать строку без использования буфера
Всем привет. Инвертировать строку с использованием второй строки достаточно просто. А как инвертировать строку без использования дополнительного буфера?
C++ Движение объекта http://www.cyberforum.ru/cpp-beginners/thread711594.html
Привет! Нужна помощь в написании программы. Необходимо заставить объект двигаться по горизонтальной прямой. Опыта написания подобных программ нет. В PictureBox вставлен "фон", требуется "заставить"...
C++ Двумерный масив. Создать программу, которая заполняет массив случайными числами, вводится с клавиатуры, и задается как константа... Короче нада создать програму с розвитвлением кейс котрая в одном случае заполняет масив случайными числами,вводится с клавиатуры, и задается как константа... допустим назвем характеристикою столбца... подробнее

Показать сообщение отдельно
Point_0
4 / 4 / 0
Регистрация: 02.10.2011
Сообщений: 87
30.11.2012, 00:08  [ТС]
вроде сортирует, но зацикливается, не могу понять почему.
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
#include <stdio.h>
#include <string.h>
#include <iostream>
 
class avto
{
 public:
       char markan[20];
       char modf[20];
       int year;
       int cena;
       avto *pNext;
};
 
avto *pHead=NULL;
 
avto *push(avto **pH, char *n,char *f, int y, int c)
{
     char markan[20];
 avto *pTemp;
 pTemp= new avto;
  if (pTemp==NULL)
   return 0;
 
 printf("Vved marky: ");
 scanf("%s",pTemp -> markan); 
 
 printf("Vved model: ");
 scanf("%s",pTemp -> modf);
 
 printf("Vved god: ");
 scanf("%d",&(pTemp -> year));
 
 printf("Vved ceny: ");
 scanf("%d", &(pTemp -> cena));
 
 
 pTemp -> pNext=*pH;
 *pH=pTemp;
 
return *pH;
}
 
int out(void)
{
 int i;
 struct avto *pPtr;
 
 pPtr=pHead;
 if (pPtr==NULL)
  printf("Spisok pust\n\n");
 else
 {
  printf("\n***________Avtomobili________***\n\n");
  printf(" Model  ");
  printf("     Marka ");
  printf("     God vipuska ");
  printf("     Cena \n");
 }
 while(pPtr!=NULL){
 printf(" %s     ", pPtr -> markan);
 printf(" %s     ", pPtr -> modf);
 printf(" %d          ", pPtr -> year);
 printf(" %d       \n", pPtr -> cena);
 pPtr=pPtr -> pNext;}
return 0;
}
 
      
 void alg (avto **pH)
{
  int buf,n=0;
  avto *Beg,*a,*b,*Beg1=new avto;
  Beg1->pNext=*pH;
  Beg=(*pH)->pNext; 
  while(Beg!=*pH)
  {
    a=Beg->pNext;
    b=Beg1; 
    while(b->pNext!=*pH)
    {
      if(b->pNext->year>Beg->year)
        break;
      b=b->pNext;
    }
    Beg->pNext=b->pNext;
    b->pNext=Beg;
    Beg=a;
  }
  (*pH)->pNext=Beg1->pNext;
  delete Beg1;
}
 
 
 
 
avto *del(avto **pH)
{avto *t;
 
 while (*pH!=NULL)
 {
  t=(*pH);
  (*pH)=(*pH) -> pNext;
  delete t;
 }
 return 0;
}
 
int Menu()
{
 int alt;
 
 printf("1.Dob zapisi\n");
 printf("2.Prosmotr\n");
 printf("3.Sortirovka po gody\n");
 printf("4.Ochistka\n");
 printf("5.End\n");
 printf("Vvedite rezim:\n\n");
 
 scanf("%d",&alt);
 
 return alt;
}
 
int main()
{
 int Reg=0;int y,c; char n,f;
 printf("                 Meny                  \n");
 
 while(Reg!=5)
 {
  Reg=Menu();
 
  switch(Reg)
  {
 
   case 1:push(&pHead, "%s", "%s", y, c); break;
   case 2:out();  break;
   case 3:alg(&pHead); break;
   case 4:del(&pHead); break;
  }
 }
 return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru