1 / 8

高度プログラミング演習 (0 8 )

高度プログラミング演習 (0 8 ). 演習問題. 格子の中で、点から点へは 上または右にしか進めないとする。 任意の (x0,y0) から任意の (x1,y1) までの経路が何通りあるか計算するプログラムを作成せよ。. (x1,y1). (x0,y0). ポインタ. コンピュータの構造. メモリ:   番地 (アドレス): 値   000000:    123   000001:   2345. CPU. Pentium4 3GHz. void main() { int a,b; a=123; b=2345; *(&a)=123;

matty
Download Presentation

高度プログラミング演習 (0 8 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 高度プログラミング演習(08)

  2. 演習問題 • 格子の中で、点から点へは • 上または右にしか進めないとする。 • 任意の(x0,y0)から任意の(x1,y1)までの経路が何通りあるか計算するプログラムを作成せよ。 (x1,y1) (x0,y0)

  3. ポインタ • コンピュータの構造 メモリ:   番地 (アドレス): 値   000000:    123   000001:   2345 CPU Pentium4 3GHz void main() { int a,b; a=123; b=2345; *(&a)=123; *(&b)=2345; } 000000: 123 000001:2345 メモリ Main Memory 512MB

  4. ポインタ型 • int *a; a cのアドレス #include <stdio.h> void main() { int *a,*b; int c=38; int matrix[100]; int i; a=&c; printf(“%d”,*a); b=&matrix[50]; b[0]=39; // matrix[50] *(b+1)=40; // matrix[51] } b matrix[50]のアドレス c 38 matrix[0] matrix[1] matrix[2] matrix[3] matrix[50] matrix[51]

  5. ポインタ型を使った関数呼び出し #include <stdio.h> void foo(int *a,int *b) { *a = *a + *b; } void main() { int a=10,b=20; foo(&a,&b); printf(“%d\n”,a); }

  6. 例題問題 • 2つの引数をとり、それぞれの変数の内容を入れ替える関数を作成せよ。 • myswap(int *a, int *b) int a=3,b=8; myswap(&a,&b); a の中身は 8 b の中身は 3

  7. 練習問題 • 3つの整数の引数をとり、小さい順に並べ替える関数を作成せよ。 • mysort(int *a, int *b, int *c) • 小文字を大文字に変える関数を作成せよ。 • myaA(char *ch)

  8. 演習問題 • 大文字を小文字に変える関数を作成せよ。 • myZz(char *ch) • 4つの引数をとり、大きい順に並び替える関数を作成せよ。 • mysort4(int *a, int *b, int *c, int *d);

More Related