質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

1669閲覧

配列を引数とする再帰的関数呼び出しによるマージソートの領域使用量にプログラムの作成

chemical

総合スコア24

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2019/06/26 04:00

レポートに関してのプログラムを知りたいです

〔課題〕
入出力配列を引数とする再帰的手続きを作成しマージソートを実現せよ。ただし、各入力要素X[i]は整数値をとるものとする。関数として(i)長さnの配列Xをマージソートによって小さい順に並べ変えた配列Yを求めるmsort(int X[], int n , int Y[]),(ii)すでに並べ替えられている長さn1の配列Y1と長さn2の配列Y2を併合した配列Yを求めるmerge(int Y1[], int n1, int Y2[] int n2, int Y[]),(iii)長さnの配列Xの各要素のアドレス並びに内容を表示するshow_addr(int X[], int n)とshow(int X[], int n)を用意すること。

<プログラム(show_addr,main,msort(一部))の作成例>

C

1#include<stdio.h> 2#include<math.h> 3#define Tw(n) (int)((n)*ceil(log(n)/log(2))-pow(2,ceil(log(n)/log(2)))+1) 4 5#define N 8 6#int cnt = 0; 7 8void msort(),merge(),show_addr(),show(); 9 10void show_addr(int Z[], int n) 11{ 12 int i; 13 for(i=0; i<n; i++) printf("%x",&Z[i]); 14 printf("\n"); 15} 16 17main() 18{ 19 int X[N] = {18, 37, 21, 14, 7, 12, 19, 6}; 20 int Y[N]; 21 show_addr(X,N); show_addr(Y,N); 22 show(X,N); 23 msort(X,N,Y); 24 show(Y,N); 25 printf("cnt=%d: Tw(%d)=%d\n", cnt, N , Tw(N)); 26} 27 28void msort(int X[], int n, int Y[]) 29{ 30 int n1=n/2,n2=n-n1,i; 31 int X1[n1],X2[n2],Y1[n1],Y2[n2]; 32 show_addr(X1,n1); show_addr(X2,n2); show_addr(Y1,n1); show_addr(Y2,n2); 33 ...(続く

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/06/26 05:04

課題なら自分でやろうよ
guest

回答1

0

ベストアンサー

Cのコードを組むなら、VisualStudioやEclipseなど、デバッグできる環境を整えましょう
ソースコードの任意の行で実行を止めて、変数の中を覗けるようになります。
また、1行づつ実行するってこともできるので、当てずっぽでコードを組まなくて済むようになります

投稿2019/06/26 05:06

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問