Подскажите в чем ошибка в коде - C (СИ)
Формулировка задачи:
переменная pz должна выводить произведение четных индексов массива ar
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> int main() { int i,j,max,p,pz; int ar[4]; for(i=0;i<4;i++) ar[i]=rand()%10+0; for(i=0;i<4;i++) printf("ar->[%2i]=%i\n",i,ar[i]); for(i=0;i<4;i++) if(ar[i]>max) {for(i=0;i<4;i++) max=ar[i]; p=i; } for(i=0;i<4;i++) if (i % 2 ==1) { for(i=0;i<3;i++) pz= i * pz; printf("pz = %d\n", pz); } return 0; }
Решение задачи: «Подскажите в чем ошибка в коде»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> int main() { int i,j,max,p,pz; int ar[4]; max=0; //необходимо обнулить pz=1; //инициализировать единицей, т.к. планируется перемножение for(i=0;i<4;i++) ar[i]=rand()%10; for(i=0;i<4;i++) printf("ar->[%2d]=%d\n",i,ar[i]); for(i=0;i<4;i++) if(ar[i]>max) { max=ar[i]; p=i; } for(i=0;i<4;i++) if (i % 2 == 0) { pz= ar[i] * pz; //ar[i] вместо i } printf("pz = %4d\n", pz); printf("Max = %4d\n",max); return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- i, j, max, p, pz (тип int)
- ar[4] (массив из 4 элементов типа int)
- Переменная max инициализируется значением 0, а pz - единицей.
- С помощью цикла for заполняется массив ar случайными числами от 0 до 9.
- С помощью двух циклов for выводятся значения массива ar.
- С помощью двух условий if находится максимальное значение в массиве ar и его индекс, а также обновляется значение переменной pz.
- С помощью цикла for и условия if производится перемножение четных элементов массива ar и значение переменной pz.
- Выводятся значения переменных pz и max.
- Функция main() возвращает 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д