Advertisement
Galebickosikasa

Untitled

Dec 27th, 2021
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <stdbool.h>
  5.  
  6.  
  7.  
  8. char a[10000][20][110];
  9. char buff[20 * 100 + 50];
  10.  
  11. bool put (int sza, int field, int const* begin, int end) {
  12. int len = 0;
  13. bool f = false;
  14. while (*begin != end) {
  15. a[sza][field][len++] = buff[*begin];
  16. if (buff[*begin] == ';') {
  17. f = true;
  18. break;
  19. }
  20. ++begin;
  21. }
  22. a[sza][field][len] = '\0';
  23. return f;
  24. }
  25.  
  26. int n;
  27.  
  28. int cmp (const char* a, const char* b, int i, int j) {
  29. int sza = strlen (a);
  30. int szb = strlen (b);
  31. while (i != sza && j != szb && a[i] != '"' && b[j] != '"') {
  32.  
  33. }
  34. }
  35.  
  36. int comp (const void* __a, const void* __b) {
  37. const char** _a = (char**)__a;
  38. const char ** _b = (char**)__b;
  39. const char* a = _a[n];
  40. const char* b = _b[n];
  41. int i = 0;
  42. for (; a[i] != ' '; ++i);
  43. int j = 0;
  44. for (; b[j] != ' '; ++j);
  45. if (a[i] == '"') {
  46. return cmp (a, b, i, j);
  47. } else {
  48.  
  49. }
  50.  
  51.  
  52. }
  53.  
  54. int main(void) {
  55. FILE* in = fopen ("input.txt", "r");
  56. FILE* out = fopen ("output.txt", "w");
  57. fscanf (in, "%d", &n);
  58. int sza = 0;
  59.  
  60. while (1) {
  61. fscanf(in, "%[^\n]%*s", buff);
  62. if (feof(in)) break;
  63. int field = 0;
  64. int* begin = 0;
  65. int end = (int)strlen (buff);
  66. while (put (sza, field, begin, end)) ++field;
  67. ++sza;
  68. free (begin);
  69. }
  70.  
  71. qsort (a, sza, sizeof (char), comp);
  72.  
  73. fclose (in);
  74. fclose (out);
  75.  
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement