毎度お世話になっています。今回は引数に関して。
Posted: 2006年12月18日(月) 00:45
皆さんのアドバイスが本当に毎回助けになっています。
授業をまじめに聞いているつもりではいるのですが落ちこぼれてしまっっているのですが
皆様のおかげでどうにか理解して課題が提出できています。
改めて感謝しています。
さてまた質問なのですが。。。。。
関数の中に関数を入れて、その中での引数を受け渡すということの
やり方がいまいちわかりません。自分ではわかったつもりでいるのですが、
コンパイルできませんって出てしまいます^^;
一応自分で今日日曜日を使ってずっとやってたのですがやっぱりできません・・・・・泣
どこが違うのかヒントをいただければと思ってまたここに書き込んだ次第です。
もしよろしければアドバイスをして頂きたいです。よろしくお願いします。
授業をまじめに聞いているつもりではいるのですが落ちこぼれてしまっっているのですが
皆様のおかげでどうにか理解して課題が提出できています。
改めて感謝しています。
さてまた質問なのですが。。。。。
関数の中に関数を入れて、その中での引数を受け渡すということの
やり方がいまいちわかりません。自分ではわかったつもりでいるのですが、
コンパイルできませんって出てしまいます^^;
一応自分で今日日曜日を使ってずっとやってたのですがやっぱりできません・・・・・泣
どこが違うのかヒントをいただければと思ってまたここに書き込んだ次第です。
もしよろしければアドバイスをして頂きたいです。よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MS 200
#define PI 3.14159265358979
main()
{
char fi[50];
int i,j,t;
FILE *fp;
unsigned short header[13]={0x4d42,54490,1,0,0,26,0,12,0,MS,MS,1,24};
unsigned char *bmp;
bmp=(unsigned char *)malloc(MS*MS*3);
for(i=0;i<MS*MS;i++)
{
bmp[i*3+0]=0;
bmp[i*3+1]=0;
bmp[i*3+2]=0;
}
printf("Input rotate angle : ");
scanf("%s",fi);
t=atoi(fi);
for(i=25;i<=174;i++)
{
for(j=25;j<=174;j++)
{
bmp[(j*MS+i)*3+0]=0;
bmp[(j*MS+i)*3+1]=0;
bmp[(j*MS+i)*3+2]=255;
}
}
void rotate(unsigned char *,int,int);
main()
{
unsigned char *bmp;
rotate(b,x1,y1);
}
void rotate(unsigned char *b,int x0,int y0)
{
int i,j,x,y,x1,y1;
double th,si,co;
unsigned char *a;
a=(unsigned char*)malloc(MS*MS*3);
th=t*PI/180;
so=sin(th);
co=cos(th);
for(i=0;i<MS*MS;i++)
{
a[i*3+0]=0;
a[i*3+0]=0;
a[i*3+0]=0;
}
for(i=0;i<MS;i++)
{
y=i-MS/2;
for(j=0;j<MS;j++)
{
x=j-MS/2;
x1=x*co+y*si+MS/2+0.5;
y1=-x*si+y*co+MS/2+0.5;
if(0<x1 || x1<MS)
{
if(0<y1 || y1<MS)
{
a[(i*MS+j)*3+0]=b[(y*MS+x)*3+0];
a[(i*MS+j)*3+1]=b[(y*MS+x)*3+1];
a[(i*MS+j)*3+2]=b[(y*MS+x)*3+2];
}
}
}
}
for(i=0;i=MS*MS*3)
{
b=a;
}
free(a);
}
printf("Input file name : ");
scanf("%s",fi);
if((fp=fopen(fi,"wb"))==NULL)
{
printf(stderr,"Error : file open[%s].\n",fi);
exit(1);
}
fwrite(header,2,13,fp);
fwrite(bmp,1,200*200*3,fp);
fclose(fp);
}