fork(1) download
  1. /*
  2.  * Klavyeden girilen bir cümlenin, her kelimedeki harflerinin yerlerini
  3.  * rastgele şekilde degiştiren bir program yazınız.
  4.  *
  5.  * Or: Bir cümle girin: C'de dosya islemleri.
  6.  * *çıktı: d'Ce osdya slemrieil.
  7.  */
  8.  
  9.  
  10. #include <stdio.h>
  11. #include <string.h>
  12. #include <time.h>
  13. #include <stdlib.h>
  14.  
  15. #define MAX_BUF 1024
  16.  
  17.  
  18. char *karistir(char *kelime) {
  19. char t;
  20. int i, r, len = strlen(kelime);
  21.  
  22. for (i = 0; i < len; ++i) {
  23. r = rand() % len;
  24. t = kelime[i];
  25. kelime[i] = kelime[r];
  26. kelime[r] = t;
  27. }
  28.  
  29. return kelime;
  30. }
  31.  
  32.  
  33. int main (int argc, char *argv[]) {
  34. char cumle[MAX_BUF] = { 0 };
  35. char *tok, c;
  36. int i = 0;
  37.  
  38. srand(time(NULL));
  39.  
  40. while ((c = getchar()) != '\n' && c != EOF && i < MAX_BUF - 1) {
  41. cumle[i++] = c;
  42. }
  43.  
  44. tok = strtok(cumle, " ");
  45. while (tok != NULL) {
  46. printf("%s ", karistir(tok));
  47. tok = strtok(NULL, " ");
  48. }
  49. printf("\n");
  50.  
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 2164KB
stdin
C'de dosya islemleri
stdout
Cd'e dsoay isemeilrl