Массивы, коррекция кода - C (СИ)
Формулировка задачи:
Для одномерного массива целых чисел B (n) найти частное от деления суммы индексов парных положительных элементов на произведение индексов нечетных элементов заданного массива, где 0 <= n <= 55.
В чем ошибка:
#include <stdio.h> #include <math.h> main() { int d, n, i, b[55]; int P = 1; int S = 0; int Vidpovid; while(1) { printf("Vvedit' n: ", n); scanf("%d", &n); d = (0 <= n) && (n <= 55); if(d) break; printf("P.P.V!!!"); } for(i = 0; i < n; i++) { printf("\nVvedit' znachennia elementiv masuvy b [%d]: ", i); scanf("%d", &b[i]); } printf("\nVuvodumo masuv b[%d]: ", n); for(i = 0; i < n; i++) { if( i % 2 == 0) S = S + i; else if( i % 2 != 0 ) P = P * i; } printf("\n\n\nVuvodumo masuv b[%d]: ", n); for(i = 0; i < n; i++) { printf("%d", b[i]); } Vidpovid = S % P; printf("%d", &Vidpovid); scanf("%d", &n); }
Решение задачи: «Массивы, коррекция кода»
textual
Листинг программы
#include <stdio.h> #include <math.h> main() { int d, n, i, b[55]; int P = 1; int S = 0; int Vidpovid; while(1) { printf("Vvedit' n: ", n); scanf("%d", &n); d = (0 <= n) && (n <= 55); if(d) break; printf("P.P.V!!!"); } for(i = 0; i < n; i++) { printf("\nVvedit' znachennia elementiv masuvy b [%d]: ", i); scanf("%d", &b[i]); } for(i = 0; i < n; i++) { if( b[i] % 2 == 0 && b[i] > 0) S = S + i; // S += i else if( b[i] % 2 != 0 && i != 0) P = P * i; // P *= i } printf("\nSuma dorivnue: %d", S); printf("\nDobytok dorivnue: %d", P); printf("\n\n\nVuvodumo masuv b[%d]: ", n); for(i = 0; i < n; i++) { printf("%d ", b[i]); } Vidpovid = S % P; printf("\n Chastka dorivnue: %d", Vidpovid); scanf("%d", &n); }
Объяснение кода листинга программы
- Ввод количества элементов массива и самого массива.
- Проверка корректности ввода количества элементов массива.
- Инициализация переменных для хранения суммы четных положительных элементов и произведения нечетных элементов.
- Цикл по всем элементам массива.
- Проверка на четность и положительность текущего элемента массива.
- Если элемент четный и положительный, то прибавляем его индекс к сумме четных положительных элементов.
- Если элемент нечетный и не является первым элементом массива, то умножаем его на произведение нечетных элементов.
- Вывод суммы четных положительных элементов.
- Вывод произведения нечетных элементов.
- Вывод массива.
- Вычисление остатка от деления суммы четных положительных элементов на произведение нечетных элементов.
- Ввод нового значения количества элементов массива или завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д