Не работает scanf и getchar после циклов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день, проблема возникла следующая - функции гетчар и сканэф не вызываются после циклов for. Если поставить эти функции до циклов, то все нормально, происходит ожидание ввода, ввод, дальнейшее выполнения программы. А вот если эти функции стоят после цикла или внутри него, то они просто напросто не работают, не происходит задержка для ввода. В чем проблема? заранее спасибо.
Листинг программы
  1. #include<stdlib.h>
  2. #include<time.h>
  3. #include<conio.h>
  4. #include<stdio.h>
  5. #define M 54
  6. #define N 4*M
  7. void Init(int *a, int n)
  8. {
  9. int i, j, b[M], count[M], len = M;
  10. for(i = 0; i < M; i++)
  11. {
  12. b[i] = i;
  13. count[i] = N / M;
  14. }
  15. for(i = 0; i < n; i++)
  16. {
  17. j = rand() % len;
  18. a[i] = b[j];
  19. --count[j];
  20. if (!count[j])
  21. {
  22. b[j] = b[len - 1];
  23. count[j] = count[len - 1];
  24. --len;
  25. }
  26. }
  27. }
  28. int main()
  29. {
  30. int deck[N], bet[3][20], chi[4][20], pos=0, i=0, p=0, m=0, k=0,f=0,c=0;
  31. srand(time(NULL));
  32. Init(deck, N);
  33. while(pos!=311)
  34. {
  35. for(p=0; p<3;p++)
  36. {
  37. scanf("%d", &bet[p][0]);
  38. }
  39. for(m=0;m<2;m++)
  40. {
  41. if(m==1)
  42. {
  43. chi[3][0]=deck[pos];
  44. pos++;
  45. }
  46. for(i=0;i<3;i++)
  47. {
  48. chi[i][m]=deck[pos];
  49. pos++;
  50. }
  51.  
  52. }
  53. for(k=2;f!=1;k++)
  54. {
  55. c=getchar();
  56. if(c=='y')
  57. {
  58. chi[0][k]=pos;
  59. pos++;
  60. }
  61. else
  62. {
  63. f=1;
  64. }
  65. }
  66.  
  67. }
  68.  
  69. getch();
  70. }
вот сам код. не работает гетчар в цикле, который начинается с for(k=2;f!=1;k++), аналогично в этом же месте со сканомэф если на на него заменить гетчар причем в самом первом вложенном цикле все прекрасно работает.

Решение задачи: «Не работает scanf и getchar после циклов»

textual
Листинг программы
  1. scanf("%d%*c", &bet[p][0]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы