Программа крашится после ввода количества членов - C (СИ)
Формулировка задачи:
Что тут не так? Программа крашится после ввода количества членов.
Листинг программы
- #include <conio.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- int n, m, sum_chet=0, sum_nechet=0, niz, verh, i;
- time_t t; // Текущее время для инициализации генератора случайных чисел(рандомайзера)
- srand((unsigned) time(&t)); // Инициализация рандомайзера
- printf("\nVvedite nizhnuiu granitsu: ");
- scanf("%d", &niz);
- printf("\nVvedite verhnuiu granitsu: ");
- scanf("%d", &verh);
- printf("\nVvedite kolichestvo chlenov: ");
- scanf("%d", &n);
- int vector[i];
- printf("\nVector: \n");
- for(i=0; i<n; i++)
- {
- vector[i]=rand(); // Получение случайного числа в диапазоне от niz до verh
- printf("%5d", vector[i]);
- }
- for(i=0; i<10; i++){
- if((i)&1==1 && vector[i]&1==0){
- sum_chet+=vector[i];
- }
- if((i)&1==0 && vector[i+1]&1==0){
- sum_nechet+=vector[i];
- }
- }
- printf("sum_nechet = %d, sum_chet =%d\n", sum_nechet, sum_chet);
- return 0;
- }
Решение задачи: «Программа крашится после ввода количества членов»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int main()
- {
- int n, m, sum_chet=0, sum_nechet=0, niz, verh, i;
- time_t t; // Текущее время для инициализации генератора случайных чисел(рандомайзера)
- srand((unsigned) time(&t)); // Инициализация рандомайзера
- printf("\nVvedite nizhnuiu granitsu: ");
- scanf("%d", &niz);
- printf("\nVvedite verhnuiu granitsu: ");
- scanf("%d", &verh);
- printf("\nVvedite kolichestvo chlenov: ");
- scanf("%d", &n);
- int vector[n];
- printf("\nVector: \n");
- for(i=0; i<n; i++)
- {
- int s = 1;
- int t =rand()%verh;
- do
- {
- t =rand()%verh;
- if (t < verh || t > niz) s=0;
- }
- while(s);
- vector[i]=t; // Получение случайного числа в диапазоне от niz до verh
- printf("%5d ", vector[i]);
- }
- for(i=0; i<n; i++){
- if(vector[i]%2==0){
- sum_chet+=vector[i];
- } else {
- sum_nechet+=vector[i];
- }
- }
- printf("sum_nechet = %d, sum_chet =%d\n", sum_nechet, sum_chet);
- return 0;
- }
Объяснение кода листинга программы
- Объявление переменных: n, m, sum_chet, sum_nechet, niz, verh, i, t (для временной метки)
- Инициализация времени для использования в генераторе случайных чисел
- Ввод нижней границы: printf(
\nVvedite nizhnuiu granitsu:
); scanf(%d
, &niz); - Ввод верхней границы: printf(
\nVvedite verhnuiu granitsu:
); scanf(%d
, &verh); - Ввод количества членов: printf(
\nVvedite kolichestvo chlenov:
); scanf(%d
, &n); - Создание массива vector размером n: int vector[n];
- Заполнение массива vector случайными числами, удовлетворяющими заданным условиям (больше или равно niz и меньше или равно verh)
- Вывод массива vector: printf(
\nVector: \n
); - Поиск первого четного числа в массиве и суммирование четных чисел
- Поиск первого нечетного числа в массиве и суммирование нечетных чисел
- Вывод суммы четных и нечетных чисел: printf(
sum_nechet = %d, sum_chet =%d\n
, sum_nechet, sum_chet); - Возврат 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д