Advertisement
Coriic

1

Dec 12th, 2015
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define ROZMIAR 50
  4.  
  5. char c;
  6. int i, j, n, a, m;
  7.  
  8. void sortowanie(char tab[n][ROZMIAR], int pom[n]){
  9. char temp[ROZMIAR];
  10. int temp1, min;
  11. for (m=0; m<n; m++){
  12. for(i=0; i<n-1; i++){
  13. if (pom[i]>pom[i+1]) min=pom[i+1];
  14. if (pom[i]<=pom[i+1]) min=pom[i];
  15. for (j=0; j<min; j++){
  16. if(tab[i][j]>tab[i+1][j]){
  17. temp1=pom[i];
  18. pom[i]=pom[i+1];
  19. pom[i+1]=temp1;
  20. strcpy(temp, tab[i]);
  21. strcpy(tab[i], tab[i+1]);
  22. strcpy(tab[i+1], temp);
  23. }
  24. }
  25. }
  26. }
  27. /*for (m=0; m<n; m++){
  28. for(i=0; i<n-1; i++){
  29. if (pom[i]>pom[i+1]) min=pom[i+1];
  30. if (pom[i]<=pom[i+1]) min = pom[i];
  31. for (j=0; j<min; j++){
  32. if((tab[i][1]==tab[i+1][1]) && (strlen(tab[i])>strlen(tab[i+1]))){
  33. temp1=pom[i];
  34. pom[i]=pom[i+1];
  35. pom[i+1]=temp1;
  36. strcpy(temp, tab[i]);
  37. strcpy(tab[i], tab[i+1]);
  38. strcpy(tab[i+1], temp);
  39. }
  40. }
  41. }
  42. }*/
  43. }
  44.  
  45. void clear (void)
  46. {
  47. while ( getchar() != '\n' );
  48. }
  49.  
  50. int main(void){
  51. printf("Podaj ile stringow chcesz posortowac: ");
  52. scanf("%d", &n);
  53. char tab[n][ROZMIAR];
  54. int pom[n];
  55. for (i=0; i<n; i++){
  56. j=0;
  57. if (i==0) clear();
  58. printf("Podaj %d. string: ", i+1);
  59. for(;(c=getchar())!=EOF && c!='\n' && j<ROZMIAR;j++){
  60. tab[i][j]=c;
  61. }
  62. pom[i]=j;
  63. }
  64. printf("Przed sortowaniem \n");
  65. for (i=0; i<n; i++){
  66. for (j=0; j<pom[i]; j++){
  67. printf("%c", tab[i][j]);
  68. if (j==pom[i]-1) printf("\n");
  69. }
  70. }
  71. sortowanie(tab, pom);
  72. printf("Po sortowaniu \n");
  73. for (i=0; i<n; i++){
  74. for (j=0; j<pom[i]; j++){
  75. printf("%c", tab[i][j]);
  76. if (j==pom[i]-1) printf("\n");
  77. }
  78. }
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement