Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 19th, 2010 | Syntax: C | Size: 1.99 KB | Hits: 59 | Expires: Never
Copy text to clipboard
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #define max 256
  5.  
  6.  
  7. typedef struct list {
  8.         char name[max];
  9.         struct list *CONT;
  10. }list;
  11.  
  12.  
  13. void add(char *buffer, list *TMP, list *HEAD) {
  14.  
  15.        
  16.        
  17.        
  18.        
  19.         if(HEAD == NULL) {
  20.                 HEAD = (struct list*)malloc(sizeof(list));
  21.                 if(sizeof(HEAD) == NULL) {
  22.                         printf("Error while allocating space");
  23.                         return;
  24.                 }
  25.                 else {
  26.                         strcpy(HEAD->name, buffer);
  27.                         HEAD->CONT = NULL;
  28.                         //TMP = HEAD;  
  29.                                                
  30.                 }
  31.        
  32.         }
  33.        
  34.        
  35.         else {
  36.                 struct list *NEXT = NULL;
  37.                 TMP = HEAD;
  38.                 while(TMP->CONT != NULL) TMP = TMP->CONT;
  39.                 NEXT = (struct list*)malloc(sizeof(list));
  40.                 if(sizeof(NEXT) == NULL) {
  41.                         printf("Error while allocating space");
  42.                         return;
  43.                 }
  44.                 else {
  45.                         strcpy(NEXT->name, buffer);
  46.                         TMP->CONT = NEXT;
  47.                         NEXT->CONT = NULL;
  48.                         TMP = TMP->CONT;
  49.                         NEXT = NULL;
  50.                 }
  51.                        
  52.                
  53.         }
  54.         return;
  55. }
  56.  
  57. void print(list *HEAD, list*TMP) {
  58.         TMP = HEAD;
  59.         while(TMP->CONT != NULL) {
  60.                 printf("%s", TMP->name);
  61.                 TMP = TMP->CONT;
  62.         }
  63.         printf("%s", HEAD->name);
  64. }
  65.  
  66. /*int cmp(char *regex, char *nametocmp) {
  67.        
  68.         int cmp = 0;
  69.         for(int i=0; i<strlen(nametocmp); i++) {
  70.                 int tmp = 0;
  71.                         for(int j=0; j<strlen(regex); j++) {
  72.                                 if(nametocmp[i] == regex[j]) {
  73.                                         tmp++;
  74.                                 }
  75.                         }
  76.                                 if(tmp>=1) {
  77.                                         cmp++;
  78.                                         }
  79.         }
  80.         if(cmp != strlen(nametocmp)) {
  81.                 return 0;        
  82.         }              
  83.         else return 1;
  84. }
  85. */
  86.  
  87.  
  88. /*int sortitup(list *HEAD) {
  89.        
  90.         struct list *TMP = HEAD;
  91.                 while(tmp->CONT != NULL) {
  92.                         struct list *NEXT = TMP->CONT;
  93.                         int cmp = strcmp(TMP->CONT,NEXT->CONT);
  94.                         if(cmp>0) HEAD = BEGIN;
  95.        
  96.         */
  97.        
  98. int main(int argc, char *argv[]) {
  99.        
  100.         FILE *input = NULL;
  101.         FILE *output = NULL;
  102.         char buffer[max] = "";
  103.         char regex[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  104.         struct list *TMP = NULL;
  105.         struct list *HEAD = NULL;
  106.        
  107.        
  108.         input=fopen(argv[1], "r");
  109.                 while(!(feof(input))) {
  110.                         fgets(buffer, 256, input);
  111.                         add(buffer, TMP, HEAD);
  112.                         }
  113.                
  114.                 fclose(input);
  115.                 print(HEAD, TMP);
  116.                 printf("OK");
  117.  
  118.         return 0;
  119.  
  120. }