利用指针形式编写一个程序,求两个向量的内积
----------------解决方案--------------------------------------------------------
向量内积是什么来着……不记得了,说一下也许能帮到,哈哈……
----------------解决方案--------------------------------------------------------
两个数组对应间的元素的乘积的和
----------------解决方案--------------------------------------------------------
main()
{
int i,a[10],b[10],c[10]*p,*q;
*p=a;
*q=b;
for (i=0;i<10;i++) c[i]=(*(p+i))*(*(q+i));
}
指针我用得很少,不记得是不是这样的语法了,不过思想应该是……回去等我查查书,或高手来指点下……
----------------解决方案--------------------------------------------------------
这不是完整的啊!!
老大
能不能弄个完整的
让我看个明白啊
----------------解决方案--------------------------------------------------------
main()
{
int i,a[10],b[10],c[10]*p,*q,t;
*p=a;
*q=b;
t=0;
for (i=0;i<10;i++)
{
c[i]=(*(p+i))*(*(q+i));
t+=c[i];
}
}
t就是对应两数组间元素积后的和了……
----------------解决方案--------------------------------------------------------
怎么没有输出呢啊??
----------------解决方案--------------------------------------------------------
main()
{
int i,a[10],b[10],c[10]*p,*q,t;
p=a;
q=b;
t=0;
for (i=0;i<10;i++)
{
c[i]=(*(p+i))*(*(q+i)); /*如果c[10]也要用指针,可以自已设定*/
t+=c[i];
}
for (i=0;i<10;i++) cout<<c[i]<<",";
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define SIZE 10
int main(void){
int ar_a[SIZE];
int ar_b[SIZE];
int n,*pa,*pb;
int sum=0;
printf("How many elements you want!\n");
scanf("%d",&n);
for(pa=ar_a,pb=ar_b;pa<ar_a+n;pa++,pb++){
printf("insert elements to arry 1 !\n");
scanf("%d",pa);
printf("insert elements to arry 2 !\n");
scanf("%d",pb);
sum+=(*pb)*(*pa);
}
printf("Out:sum=%d\n",sum);
return 0;
}
----------------解决方案--------------------------------------------------------