Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5.  
  6. #include "blandy.h"
  7.  
  8. #define MAX 50
  9. #define MAX_S 80
  10.  
  11. #pragma warning (disable: 4996)
  12.  
  13. void ord_alfa(char(*lista)[MAX_S], int length, int *lenght1, int *lenght2, char key[], char(*vett1)[MAX_S], char(*vett2)[MAX_S]);
  14.  
  15. int main(void)
  16. {
  17.     char lista[MAX][MAX_S];
  18.     char maggiore[MAX][MAX_S];
  19.     char minore[MAX][MAX_S];
  20.     char chiave[MAX_S];
  21.     int *n1=0, *n2=0;
  22.  
  23.     int n,i;
  24.  
  25.     setlocale(LC_CTYPE, "italian");
  26.  
  27.     printf("Quante stringhe vuoi inserire? ");
  28.     scanf("%d", &n);
  29.     if (n > MAX)
  30.         printf("Quantità di dati non gestibile!\n");
  31.     else
  32.     {
  33.         for (i = 0; i < n; i++)
  34.         {
  35.             printf("Inserisci la %d° stringa del vettore: ", i + 1);
  36.             scanf("%s", lista[i]);
  37.         }
  38.         printf("\n\n");
  39.         printf("Inserisci la chiave: ");
  40.         scanf("%s", chiave);
  41.  
  42.         ord_alfa(lista, n, &n1, &n2, chiave, maggiore, minore);
  43.         printf("Le stringhe alfabeticamente maggiori di %s: ", chiave);
  44.         for (i = 0; i < n1; i++)
  45.         {
  46.             printf("\n%s\n ", maggiore[i]);
  47.         }
  48.  
  49.         printf("\n\n");
  50.         printf("Le stringhe alfabeticamente minori di %s: ", chiave);
  51.         for (i = 0; i < n2; i++)
  52.         {
  53.             printf("\n%s\n ", minore[i]);
  54.         }
  55.  
  56.     }
  57.     printf("\n\n");
  58.     system("pause");
  59.     return 0;
  60.  
  61. }
  62. void ord_alfa(char(*lista)[MAX_S], int length, int *n1, int *n2, char key[], char(*vett1)[MAX_S], char(*vett2)[MAX_S])
  63. {
  64.     int i;
  65.  
  66.     //tolwr(lista, length);
  67.     for (i = 0; i < length; i++)
  68.     {
  69.         if (strcmp(lista[i], key) > 0)
  70.         {
  71.             strcpy(vett1[*n1], lista[i]);
  72.             *n1++;
  73.         }
  74.         else
  75.         {
  76.             strcpy(vett2[*n2], lista[i]);
  77.             *n2++;
  78.         }
  79.     }
  80.  
  81.     return ;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement