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

Двунаправленные списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Записать строку украинского языка до 160 символов транслитерацией. (SMS). http://www.cyberforum.ru/cpp-beginners/thread313645.html
Здрасте. Помогите, мне срочно нужно написать эту программу. Записать строку украинского языка до 160 символов транслитерацией. (SMS).
C++ Функция поиска по фамилии Есть функция поиска по табельному номеру: void Search() { system ("cls"); bool fl=0; int q,i=0; Abbase z4; ifstream fin("base.txt", ios::in); cout<<"Введите табельный номер абитуриента:\n-> "; cin>>q; http://www.cyberforum.ru/cpp-beginners/thread313617.html
Аппроксимация полиномом.Не могу найти ошибку в программе.Си C++
Задание: "Апроксимация функции полиномом n-ого порядка. Программа есть,но она не работает. Считывает координаты точек из текстового файла, запрашивает порядок полинома - и вмсето результата ,компилятор вылетает( Помогите,пожалуйста найти ошибку!!??? #include "stdafx.h" #include <stdio.h> #include <process.h> #include <math.h> float *a; //объявляем указатель чтобы сделать потом массив. Это...
Сортировка массивов. C++
Помогите пожалуйста написать на 2006 с++ сортировки одномерного массива методом Шелла, Шейкера, слиянием, быстрой сортировки по примеру пузырьковой #include <iostream.h> #include <stdlib.h> int main() { int n,i,j,b; cout<<"Vvedite razmer massiva -> "; cin>>n; cout<<"\n"; int *A=new int;
C++ Криптографические средства http://www.cyberforum.ru/cpp-beginners/thread313587.html
Помогите, пожалуйста! Тону и пропадаю! Срочно нужна программа! Огромнейшее спасибо за возможную помощь! Задание такое: Разработать программу, реализующую функции подготовки файла защищенной программы и проверки ее на предмет нарушения целостности. Алгоритм подготовки файла защищенной программы: • Вычислить хэш – значения в соответствии с алгоритмом ГОСТ 28147-89/Схема Quisquater -...
C++ Округление мелкого числа до 0 Всем привет, времени мало поэтому пишу сюда суть такова - нужно сделать перемножение матриц 3х3 типа double потом вывести на экран все выходит хорошо, но есть 1 штука от которой я хочу избавится http://i034.***********/1106/c2/93d5619029c0.jpg я так понимаю это 1.9 в -16 степени, т.е --> 0 так вот как сделать так чтобы выводился на экран ноль а не эта штукенция? фрагмент программы подробнее

Показать сообщение отдельно
kingskeeper
7 / 7 / 1
Регистрация: 08.11.2010
Сообщений: 26
05.06.2011, 19:30     Двунаправленные списки
Здравствуйте всем!
Написал программу для составления из одной таблицы другую. Использую двунаправленный список и классы.
Вопрос в следующем. Не работают две подпрограммы: удаление записи из таблицы и считывание из бинарного файла.
Подскажите,в чем ошибка,пожалуйста.
Заранее благодарен
PS не работает - это значит программа экстренно завершает работу.
Структуры:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct person
{ char fam[30];
  char im[5];
  int god;
  char mark[30];
  char strana[30];
};
struct perech
{ char mark[30];
  int ng;
};
struct node1
{ person s;
  node1 *next,*pre;
};
struct node2
{ perech g;
  node2 *next,*pre;
};
Удаление из таблицы:
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
void tabl1::Delete(int i)
{ node1 *a,*b,*c;
int j;
char ch;
if(!(i<0||i>=n+1))
 {
 for(j=0,a=beg1;j<(i-1);j++,a=a->next);
 cout<<"Are you sure that you need delete data about "<<a->s.fam<<" "<<a->s.im<<" "
     <<a->s.god<<" "<<a->s.mark<<"  (y or n)"<<endl;
cin>>ch;
if(ch=='y')
{if(a==beg1)
{
beg1=a->next;
beg1->pre=NULL;
delete a;
n--;
return;
}
if(a==end1)
{
end1=a->pre;
end1->next=NULL;
delete a;
n--;
return;
}
 
b=a->pre;
c=a->next;
delete a;
b->next=c;
c->pre=b;
n--;
}
}
else {cout<<"Out of index\n";getch();}
}
Считывание из бинарного файла:
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
int tabl2::InputFileBinPerech()
{perech t;
 fstream fin;
 char ch[60];
cout<<"Please enter root to temp Binary file\n";
cin>>ch;
fin.open(ch,ios::in|ios::binary);
if (fin.fail())
{cout<<"Binary File is not opened.";
getch();
fin.close();
return 1;
}
fin.seekg(0,ios::end);
m=fin.tellg()/sizeof(perech);
fin.seekg(0,ios::beg);
del();
for(;fin.good();)
{
fin.read((char*)&t,sizeof(perech));
if(fin.good()){new_(t);}
}
fin.close();
cout<<"Temp file is read\n";
getch();
return 0;
}
Вспомогательные подпрограммы:
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
void tabl2::del()
{
 node2 *a;
 for(a=beg2;a!=NULL;a=beg2,beg2=a->next,delete a);
 beg2=NULL;
 end2=NULL;
}
 
void tabl2::new_(perech &t)
{node2 *t_s,*t_n;
 t_n=new node2();
  if(t_n==NULL) {cout<<"Error. Overload memory data.";getch();return;}
t_s=end2;
if (t_s == NULL)
{beg2=new node2;
beg2->g=t;
beg2->next=NULL;
beg2->pre=NULL;
end2=beg2;
return;
}
t_n->g=t;
t_s->next=t_n;
t_n->pre=t_s;
t_n->next=NULL;
end2=t_n;
m++;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru