fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. // 線形探索:x が最初に見つかった位置を返し、count に個数を入れる
  5. int linear_search(int a[], int n, int x, int *count){
  6. int first_pos = -1;
  7. *count = 0;
  8.  
  9. for(int i = 0; i < n; i++){
  10. if(a[i] == x){
  11. (*count)++;
  12. if(first_pos == -1){
  13. first_pos = i; // 最初に見つけた位置を記録
  14. }
  15. }
  16. }
  17. return first_pos;
  18. }
  19.  
  20. int main(void) {
  21. int n, x, i;
  22. int *a;
  23. int ans = -1;
  24. int count = 0;
  25.  
  26. scanf("%d %d", &n, &x);
  27. a = (int*)malloc(sizeof(int) * n);
  28. if(a == NULL){
  29. printf("ERROR\n");
  30. return -1;
  31. }
  32.  
  33. for(i = 0; i < n; i++){
  34. scanf("%d", &a[i]);
  35. }
  36.  
  37. ans = linear_search(a, n, x, &count);
  38.  
  39. if(count > 0)
  40. printf("Found_%d_%ds_count=%d\n", ans, x, count);
  41. else
  42. printf("not found\n");
  43.  
  44. free(a);
  45. return 0;
  46. }
  47.  
  48.  
Success #stdin #stdout 0s 5312KB
stdin
50 5
12	3	4	12	11	5	7	15	18	0	0	5	10	6	15	6	4	10	8	16	12	9	10	11	12	9	5	7	10	14	3	17	11	10	7	15	5	2	6	3	19	7	8	16	13	3	18	10	19	5
stdout
Found_5_5s_count=5