Guest User

списки

a guest
Jun 15th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. struct Node
  5. {
  6. char* vra4;
  7. char* pac;
  8. int d;
  9. int m;
  10. int g;
  11. int ch;
  12. int min;
  13. char* diag;
  14. Node *next; // ссылка на следующий узел
  15. };
  16. typedef Node *PNode;
  17.  
  18. PNode CreateNode ( char str1[80], char str2[80],char str3[80],char str4[80], char str5[80] ) //prototip finccii
  19. {
  20. PNode NewNode = new Node; // указатель на новый узел
  21. NewNode->vra4=str1;
  22. NewNode->pac=str2;
  23. NewNode->diag=str5; // записать число b в поле а структуры NewNode
  24. NewNode->d=str3[0]+str3[1];//0 i 1 symbol v str newmode
  25. NewNode->m=str3[3]+str3[4];
  26. NewNode->g=str3[6]+str3[7];
  27. NewNode->ch=str4[0]+str4[1];
  28. NewNode->min=str4[3]+str4[4];
  29. NewNode->next = NULL; // следующего узла нет
  30. return NewNode; // результат функции – адрес узла
  31. }
  32.  
  33. void AddFirst (PNode &Head, PNode NewNode)
  34. {
  35. NewNode->next = Head;
  36. Head = NewNode;
  37. }
  38.  
  39. void AddAfter (PNode p, PNode NewNode)
  40. {
  41. NewNode->next = p->next;
  42. p->next = NewNode;
  43. }
  44.  
  45. void AddLast(PNode &Head, PNode NewNode)
  46. {
  47. PNode q = Head;
  48. if (Head == NULL) { // если список пуст,
  49. AddFirst(Head, NewNode); // вставляем первый элемент
  50. return;
  51. }
  52. while (q->next) q = q->next; // ищем последний элемент
  53. AddAfter(q, NewNode);
  54. }
  55.  
  56.  
  57. int main()
  58. {
  59.  
  60. char word1[80];
  61. char word2[80];
  62. char word3[80];
  63. char word4[80];
  64. char word5[80];
  65.  
  66. FILE *in, *out;
  67. char word[80];
  68. in = fopen ( "C:\\r\\p.txt","r");
  69. int i, n, j=1000, k;
  70. PNode Head = NULL, p;
  71.  
  72.  
  73. n = fscanf ( in, "%s", word ); // читаем слово из файла
  74.  
  75. printf("%s", word);
  76.  
  77. for(i=0;feof(in)==0;i++)//4teniye do konza faila
  78. {
  79. n = fscanf ( in, "%s", word1 );
  80. n = fscanf ( in, "%s", word2 );
  81. n = fscanf ( in, "%s", word3 );
  82. n = fscanf ( in, "%s", word4 );
  83. n = fscanf ( in, "%s", word5 );
  84. if (i=0)//dlya perv schit iz faila stroki my sozdali perv element spiska
  85. {
  86. p = CreateNode(word1, word2, word3, word4, word5);
  87. AddFirst(Head, p);
  88. }
  89. else {
  90. p = CreateNode(word1, word2, word3, word4, word5);
  91. AddLast(Head, p);
  92. }
  93. }
  94.  
  95. getch();
  96. return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment