Программа крашится после ввода количества членов - C (СИ)

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

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

Что тут не так? Программа крашится после ввода количества членов.
Листинг программы
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. int main()
  6. {
  7. int n, m, sum_chet=0, sum_nechet=0, niz, verh, i;
  8. time_t t; // Текущее время для инициализации генератора случайных чисел(рандомайзера)
  9. srand((unsigned) time(&t)); // Инициализация рандомайзера
  10. printf("\nVvedite nizhnuiu granitsu: ");
  11. scanf("%d", &niz);
  12. printf("\nVvedite verhnuiu granitsu: ");
  13. scanf("%d", &verh);
  14. printf("\nVvedite kolichestvo chlenov: ");
  15. scanf("%d", &n);
  16. int vector[i];
  17. printf("\nVector: \n");
  18. for(i=0; i<n; i++)
  19. {
  20. vector[i]=rand(); // Получение случайного числа в диапазоне от niz до verh
  21. printf("%5d", vector[i]);
  22. }
  23. for(i=0; i<10; i++){
  24. if((i)&1==1 && vector[i]&1==0){
  25. sum_chet+=vector[i];
  26. }
  27. if((i)&1==0 && vector[i+1]&1==0){
  28. sum_nechet+=vector[i];
  29. }
  30. }
  31. printf("sum_nechet = %d, sum_chet =%d\n", sum_nechet, sum_chet);
  32. return 0;
  33. }

Решение задачи: «Программа крашится после ввода количества членов»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int main()
  5. {
  6.     int n, m, sum_chet=0, sum_nechet=0, niz, verh, i;
  7.     time_t t; // Текущее время для инициализации генератора случайных чисел(рандомайзера)
  8.     srand((unsigned) time(&t)); // Инициализация рандомайзера
  9.  
  10.     printf("\nVvedite nizhnuiu granitsu: ");
  11.     scanf("%d", &niz);
  12.     printf("\nVvedite verhnuiu granitsu: ");
  13.     scanf("%d", &verh);
  14.     printf("\nVvedite kolichestvo chlenov: ");
  15.     scanf("%d", &n);
  16. int vector[n];
  17.    printf("\nVector: \n");
  18.  
  19.     for(i=0; i<n; i++)
  20.   {
  21. int s = 1;
  22. int t =rand()%verh;
  23.  
  24. do
  25. {
  26. t =rand()%verh;
  27. if (t < verh ||  t > niz) s=0;
  28. }
  29. while(s);
  30.  
  31.     vector[i]=t; // Получение случайного числа в диапазоне от niz до verh
  32.  
  33.  
  34.     printf("%5d ", vector[i]);
  35.   }
  36.         for(i=0; i<n; i++){
  37.      if(vector[i]%2==0){
  38.       sum_chet+=vector[i];
  39.      } else {
  40.      sum_nechet+=vector[i];
  41.          }
  42.         }
  43.     printf("sum_nechet = %d, sum_chet =%d\n", sum_nechet, sum_chet);
  44.     return 0;
  45. }

Объяснение кода листинга программы

  1. Объявление переменных: n, m, sum_chet, sum_nechet, niz, verh, i, t (для временной метки)
  2. Инициализация времени для использования в генераторе случайных чисел
  3. Ввод нижней границы: printf(\nVvedite nizhnuiu granitsu:); scanf(%d, &niz);
  4. Ввод верхней границы: printf(\nVvedite verhnuiu granitsu:); scanf(%d, &verh);
  5. Ввод количества членов: printf(\nVvedite kolichestvo chlenov:); scanf(%d, &n);
  6. Создание массива vector размером n: int vector[n];
  7. Заполнение массива vector случайными числами, удовлетворяющими заданным условиям (больше или равно niz и меньше или равно verh)
  8. Вывод массива vector: printf(\nVector: \n);
  9. Поиск первого четного числа в массиве и суммирование четных чисел
  10. Поиск первого нечетного числа в массиве и суммирование нечетных чисел
  11. Вывод суммы четных и нечетных чисел: printf(sum_nechet = %d, sum_chet =%d\n, sum_nechet, sum_chet);
  12. Возврат 0, чтобы указать, что программа успешно завершилась

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


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

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

14   голосов , оценка 4.071 из 5

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

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

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