По двум массивам построить третий - C (СИ)
Формулировка задачи:
По двум массивам построить третий, элементы которого являются частным от деления элементов первого на соответствующие элементы второго массива. Если делитель ноль, заменять его единицей. \\ В полученном массиве найти отклонение медианы от среднего арифметического. Число элементов массива не более 17. Формат числа ццц.
Ошибка при подсчете значений 3го массива, кажется что то из-за типов данных.
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
int main ()
{
int r;
printf("vvedite razmer\n");
scanf("%d",&r);
int A[r],B[r], C[r];
int i;
printf("razmer= %d\n",r);
for (i=0;i<r;i++)
{
A[i]=0 + rand() % 100;
B[i]=0 + rand() % 100;
printf("A[%d]=%d \t",i,A[i]);
printf("B[%d]=%d \n",i,B[i]);
printf("\n");
for (i=0;i<r;i++)
{
if (B[i]=0)
{
B[i]=1;
}
C[i]=A[i]/B[i];
printf("C[%d]=%d \n",i,C[i]);
}
}
getch();
return 0;
}Решение задачи: «По двум массивам построить третий»
textual
Листинг программы
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
#include <malloc.h>
int main ()
{
int r,i;
printf("vvedite razmer\n");
scanf("%d",&r);
int *A=(int *)malloc(r*sizeof(int));
int *B=(int *)malloc(r*sizeof(int));
int *C=(int *)malloc(r*sizeof(int));
printf("razmer= %d\n",r);
for (i=0;i<r;i++)
{
A[i]=0 + rand() % 100;
B[i]=0 + rand() % 100;
printf("A[%d]=%d \t",i,A[i]);
printf("B[%d]=%d \n",i,B[i]);
printf("\n");
if (B[i]==0)
{
B[i]=1;
}
C[i]=A[i]/B[i];
printf("C[%d]=%d \n",i,C[i]);
}
getch();
return 0;
}
Объяснение кода листинга программы
- В начале программы подключаются необходимые библиотеки.
- Далее в функции main() объявляются переменные: r (размер массива), i (номер элемента), A, B, C (указатели на массивы).
- Пользователю предлагается ввести размер массива.
- Выделяется память под массивы A, B, C.
- Заполняются массивы A и B случайными числами от 0 до 99.
- Выводится размер массива и значения первых двух элементов массива.
- В цикле for заполняется массив C путем деления элементов массива A на элементы массива B.
- Выводится значение каждого элемента массива C.
- Программа ожидает нажатия клавиши для выхода.
- Возвращается 0, что означает успешное завершение программы.