Ошибка приведения типов - C (СИ) (150812)
Формулировка задачи:
#include <conio.h>
#include <stdio.h>
#include <locale.h>
#include <math.h>
int vvod(int *a[15],int*b[15],int i)
{ for(i=0; i<15; i++) {
printf("a[%d] = ", i);
scanf("%d", *a[i]);
printf("b[%d] = ", i);
scanf("%d", *b[i]); // &a[i]
}
}
int obrab(int a[15],int b[15],int i,int ak,int ak1,int *mx,int *dx)
{
for(i=0; i<15; i++) {
ak=a[i]*b[i];
*mx=*mx+ak;
ak1=(a[i]-*mx)*b[i];
*dx=*dx+ak1;
}
}
int output(int mx,int dx)
{
printf("Mx=%d",mx);
printf("DX=%d",dx);
}
int main() {
int a[15];
int b[15];
int i,mx,dx,ak,ak1;
i=0;
vvod(&a,&b,i);
obrab(&a,&b,i.ak,ak1,&mx,&dx);
output(mx,dx);
return 0;
}Решение задачи: «Ошибка приведения типов»
textual
Листинг программы
int vvod(int *a,int *b,int i);
scanf("%d", &a[i]);
scanf("%d", &b[i]);
vvod(a, b, i);
Объяснение кода листинга программы
В данном коде представлена функция vvod, которая принимает три аргумента типа int: a, b и i. Функция считывает два целочисленных значения через функцию scanf и сохраняет их в массивах a и b соответственно. Первое считанное значение присваивается элементу массива a[i], второе значение присваивается элементу массива b[i]. После этого вызывается сама функция vvod с передачей массивов a, b и значения i в качестве аргументов.