ある英作文が書いてあるぶんがあるとして
それらの文の英語をASCIIコードで昇順
に並べ替えるプログラミングを作成
したいのですが、どうすればいいのでしょうか?
昇順に並べ替えるC言語について
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 昇順に並べ替えるC言語について
課題の丸投げはご遠慮いただいておりますが課題のお手伝いは致しますので、フォーラルルールのテンプレートなどを使って詳細の説明をお願いします。
http://dixq.net/board/board.html
なお、出来上がっている分だけのソースコードは必ず提示して下さい。
http://dixq.net/board/board.html
なお、出来上がっている分だけのソースコードは必ず提示して下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 昇順に並べ替えるC言語について
英語をというのは「英単語」をなのでしょうか?ks さんが書きました:それらの文の英語をASCIIコードで昇順
条件を絞ってもらわないと難しいですよ。
大文字、小文字、アポストロフィがついてる短縮形、ハイフォン、複数形etc
non
-
ks
Re: 昇順に並べ替えるC言語について
#include<stdio.h>
#include<ctype.h>
#define WORD_MAX 100
struct WordData {
char wd[ WORD_MAX ];
};
void StoreWord(struct WordData *array, int *word_num,char *c)
void SortWord (struct WordData *array, int word_num)
{
arrya
}
void SwapWord (char *w1, char *w2 )
{
int temp = *w1;
*w1 = *w2;
*w2 = temp;
}
void CompareWord (char *wd1, char *wd2)
{
if(wd1 < wd2){
return(1);
}
if else(wd1 = wd2){
return(0);
}
if else{
return(-1);
}
int main(int argc, char *argv[])
{
FILE *fp;
int Word num = 0;
int i;
char c;
if (argc < 2) {
printf("ファイル名が正しく指定されませんでした。\n");
return 0;
}
fp = fopen(argv[1],"rw");
if(fp == NULL){
printf("ファイルは開けませんよ。");
}
while((c = getc(fp)) != EOF){
(array,c);
}
fclose(fp);
ここまでできたんですがどうすればいいでしょう?英単語です。コンマも含みます
#include<ctype.h>
#define WORD_MAX 100
struct WordData {
char wd[ WORD_MAX ];
};
void StoreWord(struct WordData *array, int *word_num,char *c)
void SortWord (struct WordData *array, int word_num)
{
arrya
}
void SwapWord (char *w1, char *w2 )
{
int temp = *w1;
*w1 = *w2;
*w2 = temp;
}
void CompareWord (char *wd1, char *wd2)
{
if(wd1 < wd2){
return(1);
}
if else(wd1 = wd2){
return(0);
}
if else{
return(-1);
}
int main(int argc, char *argv[])
{
FILE *fp;
int Word num = 0;
int i;
char c;
if (argc < 2) {
printf("ファイル名が正しく指定されませんでした。\n");
return 0;
}
fp = fopen(argv[1],"rw");
if(fp == NULL){
printf("ファイルは開けませんよ。");
}
while((c = getc(fp)) != EOF){
(array,c);
}
fclose(fp);
ここまでできたんですがどうすればいいでしょう?英単語です。コンマも含みます
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 昇順に並べ替えるC言語について
フォーラムルールに書いてありますが必ず詳細を記載して下さい。
あとcodeタグも利用して下さい。
あとcodeタグも利用して下さい。
#include<stdio.h>
#include<ctype.h>
#define WORD_MAX 100
struct WordData {
char wd[ WORD_MAX ];
};
void StoreWord(struct WordData *array, int *word_num,char *c)
void SortWord (struct WordData *array, int word_num)
{
arrya
}
void SwapWord (char *w1, char *w2 )
{
int temp = *w1;
*w1 = *w2;
*w2 = temp;
}
void CompareWord (char *wd1, char *wd2)
{
if(wd1 < wd2){
return(1);
}
if else(wd1 = wd2){
return(0);
}
if else{
return(-1);
}
int main(int argc, char *argv[])
{
FILE *fp;
int Word num = 0;
int i;
char c;
if (argc < 2) {
printf("ファイル名が正しく指定されませんでした。\n");
return 0;
}
fp = fopen(argv[1],"rw");
if(fp == NULL){
printf("ファイルは開けませんよ。");
}
while((c = getc(fp)) != EOF){
(array,c);
}
fclose(fp);
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 昇順に並べ替えるC言語について
ご自分で書いた分と元からある部分を説明して下さいね。どこから何処までが課題として元から有った部分ですか?
あとテンプレートでご自身の知識などを説明お願いします。
無指定だと無制限にC言語の機能を使っても良いと判断させていただきますが、きっと困ると思います[補足]。
あとテンプレートでご自身の知識などを説明お願いします。
無指定だと無制限にC言語の機能を使っても良いと判断させていただきますが、きっと困ると思います[補足]。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 昇順に並べ替えるC言語について
6~8行の構造体は指定ですか?
同一単語が出た場合はどうしますか?
「コンマも含みます」とはどういう意味ですか?
I'm happy.
の場合、単語は何?
I'm と happy. の2個?
同一単語が出た場合はどうしますか?
「コンマも含みます」とはどういう意味ですか?
I'm happy.
の場合、単語は何?
I'm と happy. の2個?
non
-
ks
Re: 昇順に並べ替えるC言語について
codeタグを忘れないで下さいね。 by softya(ソフト屋)
/*
* 定数マクロを記述する.
*/
#define WORD_MAX 100
/*
* 構造体を宣言する.
*/
struct WordData {
char wd [ WORD_MAX ]; /* 単語 */
};
関数仕様
次の関数を作成し,利用すること.
/*
* StoreWord --- 文字列を構造体へ保存する.
*
* 引 数
* array (I/O) 文字列を記録する配列の先頭アドレス
* word_num (I/O) 保存した数(この関数でカウントアップする)
* c (I) 保存する文字列
* 返り値 なし
*/
void StoreWord (struct WordData *array,
int *word_num,
char *c)
/*
* SortWord --- 文字列をソートする.
*
* 引 数
* array (I/O) 文字列を記録する配列の先頭アドレス
* word_num (I) 保存されている文字列の数
* 返り値 なし
*/
void SortWord (struct WordData *array, int word_num)
/*
* SwapWord --- 文字列を入れ替える.
*
* 引 数 w1 (I/O) 文字列
* w2 (I/O) 文字列
* 返り値 なし
*/
void SwapWord (char *w1, char *w2 )
/*
* CompareWord --- 2つの文字列を比較する.
*
* 引 数 wd1 (I) 文字列
* wd2 (I) 文字列
* 返り値 1 : wd1 < wd2
* 0 : wd1 = wd2
* -1 : wd1 > wd2
*/
void CompareWord (char *wd1, char *wd2)
これらは必須で使用します。- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 昇順に並べ替えるC言語について
(1)質問と違う返答をされてもどう判断して良いかわかりません。
質問: I'm happy.
返答: I am happy.
この2つはデータとして違うものです。
(2)あとピリオドを英単語に含んで良いんですか?
>これらは必須で使用します。
このままのコメントは残して投稿してもらいたかったですね。
(3)あと返り値があるのにvoidになっていますが間違っていませんか?
-------------------------------------------------------------------------------
さて、いつ迄待ってもテンプレートを使ってもらえないのでお尋ねします。
(4)C言語の標準ライブラリは無制限に使って良いのでしょうか? strcmp等。
(5)mallocなどメモリ動的確保の使用可・不可。
(6)英単語を蓄える仕組みは配列ですか?あるいはリスト構造ですか?
あと気になった点。
(7)WORD_MAXって単語の最大長ですよね?
(8)単語数の上限値はなしですか?
質問: I'm happy.
返答: I am happy.
この2つはデータとして違うものです。
(2)あとピリオドを英単語に含んで良いんですか?
>これらは必須で使用します。
このままのコメントは残して投稿してもらいたかったですね。
(3)あと返り値があるのにvoidになっていますが間違っていませんか?
-------------------------------------------------------------------------------
さて、いつ迄待ってもテンプレートを使ってもらえないのでお尋ねします。
(4)C言語の標準ライブラリは無制限に使って良いのでしょうか? strcmp等。
(5)mallocなどメモリ動的確保の使用可・不可。
(6)英単語を蓄える仕組みは配列ですか?あるいはリスト構造ですか?
あと気になった点。
(7)WORD_MAXって単語の最大長ですよね?
(8)単語数の上限値はなしですか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 昇順に並べ替えるC言語について
なかなか私の疑問に明確に答えていただけないですね。
すべての単語はスペースか改行で区切られているということで限定でいいですか。
英文はファイルから読むのですよね。
まず、ファイルから読んで、単語で区切るプログラムを作ってみてください。
I am happy.
という文があれば
I
am
happy.
のように改行して出力するプログラムです。
すべての単語はスペースか改行で区切られているということで限定でいいですか。
英文はファイルから読むのですよね。
まず、ファイルから読んで、単語で区切るプログラムを作ってみてください。
I am happy.
という文があれば
I
am
happy.
のように改行して出力するプログラムです。
non