PDA

View Full Version : سوال: declaration syntax error in c



mortezabb
سه شنبه 14 اردیبهشت 1389, 14:56 عصر
برنامه زیر را برای جمع دو عدد بسیار بزرگ (با استفاده از آرایه ها)در سی نوشتم ودر قسمت تابع prin خطا های زیر را دریافت کردم اگه مشکل ش و فهمیدید دریغ نفرمایید.
خطاها :1-declaration syntax error
2-declaration missing
3- compound statement missing
کد برنامه :
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#define t 50
void get(int[]);
void gam(int[],int[],int[]);
int prin(int[]);
int main(){int a[t],b[t],c[t+1];
cout<<"do adad vared konid";
get(a);
get(b);
gam(a,b,c);
prin(c);
getch();
return 0;}
//-------------------------------------//
void get(int a[]){ char ch;
int n;
for(int i=0;a[i];i++){
ch=getch();
a[i]=ch-'0';}
i--;
n=t-i;
for(int j=i;j>=0;j--)
a[j+n]=a[j];
for(i=0;i<=n;i++)
a[i]=0;
}

//********************************************
void gam(int a[],int b[],int c[]){
int i,g,m=0;
for(i=t;i!=-1;i--){
g=m+a[i]+b[i];
if(g>=10){
m=g/10;
g=g%10;}
else if(g<10)
m=0;
c[i+1]=g;}
//************************************************
int prin(int h[])
{
int f;
for(f=0 ;!h[f];f++)
{}
for(int j=f-1;j<=t+1;j++)
cout<<h[j];
return 0;
}

Salar Ashgi
سه شنبه 14 اردیبهشت 1389, 18:06 عصر
نمیدونم حالا تو جاهای دیگه کدتون اشکال هست یا نه ؛ ولی روشی که برای پیدا کردن طول آرایه از نوع

int بکار بردین ، زیاد اصولی نیست ، بهتره از روش زیر استفاده کنین :

بجای استفاده از کد زیر :


for(f=0 ;!h[f];f++){}


از این کد استفاده کنید :



#include <iostream>
#include <conio>
int main(){
int a[]={1,4,5,7,8,9};
cout<<"Length of Array is : "<<(sizeof(a)/sizeof(int))<<endl;
getch();
}


موفق باشید .