Генерация неповторяющихся различных случайных чисел - программа зависает - C (СИ)

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

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

зависает програма не могу понять почему
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <limits.h>
  5. int main(void)
  6. {
  7. int k, MAX, n;
  8. //srand((unsigned)time(NULL));
  9. //k=rand()%(INT_MAX-10)+10;
  10. printf("\n vvedit k="); scanf("%d",&k);
  11. if (k<10)
  12. {
  13. printf("ne vidpovidae umovi");
  14. return 0;
  15. }
  16. printf("\n vvedit MAX="); scanf("%d",&MAX);
  17. if (MAX<k)
  18. {
  19. printf("ne vidpovidae umovi");
  20. return 0;
  21. }
  22. const int i=k;
  23. int a[i], ser=0;
  24. int *N, *K;
  25. N=a;
  26. srand((unsigned)time(NULL));
  27. n=0;
  28. while (n<i) //в етом цикле зависает
  29. {
  30. *N= rand()%(MAX-1)+1;
  31. for(k=0; k<n; k++)
  32. if (*N=*(a+k)) break;
  33. if (k=n)
  34. {
  35. N++;
  36. n++;
  37. }
  38. }
  39. for (n=0; n<i; n++)
  40. printf("\n a[%d]=%d",n+1,*(a+n) );
  41. for(n=0; n<i; n++)
  42. ser+=*(a+n);
  43. ser/=i;
  44. printf("\n\n ser=%d",ser);
  45. return 0;
  46. }

Решение задачи: «Генерация неповторяющихся различных случайных чисел - программа зависает»

textual
Листинг программы
  1. if (k=n)

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


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

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

11   голосов , оценка 4.091 из 5

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

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

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