パスカル言語をC言語に

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
パスカル

パスカル言語をC言語に

#1

投稿記事 by パスカル » 18年前

レポートでパスカルをCになおせと言う問題が出まして
1.リストの先頭へのデータ挿入
proceder inserthead(val :datatype);
var q:list;
begin
new(q);
with q↑ do
begin
element:=val;
next:=listhead;
end;
listhead:=q;
end;

2.リストの先頭からデータの削除
proceder deletehead;
var q:list;
begin
q:=listhead;
listhead:=q↑.next;
dispose(q);
end;
を繋げてCにする問題が出ました
参考書をみてポインタと構造体を使うことは分かったのですがdeletehead と insertheadをCに置き換えるならどうすればいいかわかりません

初めての構造体 のレポートなのでわかり兼ねるところもあり非常に困っています
お願いします助けて下さい

たかぎ

Re:パスカル言語をC言語に

#2

投稿記事 by たかぎ » 18年前

課題は本来自分で考えるのが筋ですが、それを放棄するなら、いっそのこと
http://www.garret.ru/~knizhnik/ptoc/Readme.htm
のようなものを使うのも一つの手です。

たかぎ

Re:パスカル言語をC言語に

#3

投稿記事 by たかぎ » 18年前

ちなみに、Windows用のバイナリは
http://www.garret.ru/~knizhnik/ptoc356.zip
から入手できます。

ぱすかる

Re:パスカル言語をC言語に

#4

投稿記事 by ぱすかる » 18年前

/* リストへのデータの挿入をする関数 */
void inserthead()
{
int val;

printf("データを入力してください → ");
scanf("%d",&val);

q=(struct list*)malloc(sizeof(struct list));

if(q==NULL){
fprintf(stderr,"メモリ不足\n");
exit(1); /* プログラムを終了する */
}

q->element=val;
q->next=listhead;
listhead=q;
}

/* リストからのデータの削除をする関数 */
void deletehead(void)
{
q=listhead;

listhead=q->next; /* 先頭のデータを削除する */
free(q);
}
自分的にこのようにできました

皆さんの意見を参考に仕手できました

御迷惑お掛けしました

閉鎖

“C言語何でも質問掲示板” へ戻る