英語の文書の一番長い単語
-
齊藤
英語の文書の一番長い単語
テキストファイルで英文(各単語半角スペースで区切られている)
の中から一番長い単語を抽出してコマンドプロンプト上に表示するプログラムが全然わかりません。
どなたか教えてくださると助かります。
の中から一番長い単語を抽出してコマンドプロンプト上に表示するプログラムが全然わかりません。
どなたか教えてくださると助かります。
Re: 英語の文書の一番長い単語
丸投げは禁止です。フォーラムルールをお読みください。
まずは使用する言語や開発環境を教えてください。
まずは使用する言語や開発環境を教えてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
-
齊藤
Re: 英語の文書の一番長い単語
単語数を表示するプログラムを拡張しようと試みました以下
#include<stdio.h>
int main()
{
int c, f = 0;
int *i,*p;
int t=0;
FILE *fp;
fp = fopen("D:\\test002.txt","r");
while((c = getc(fp)) != EOF)
{
for(i=0;i<456;i++)
{
if(c == ' ' || c== '\n' || c == '.' || c == ',')
{
t=*p;
}
f = 0;
}
}
fclose(fp);
printf("%s\n ",t);
return 0;
}
しかしこれはまったくエラーばかり どこが悪いのかわかりません。
開発環境はボーランドC
#include<stdio.h>
int main()
{
int c, f = 0;
int *i,*p;
int t=0;
FILE *fp;
fp = fopen("D:\\test002.txt","r");
while((c = getc(fp)) != EOF)
{
for(i=0;i<456;i++)
{
if(c == ' ' || c== '\n' || c == '.' || c == ',')
{
t=*p;
}
f = 0;
}
}
fclose(fp);
printf("%s\n ",t);
return 0;
}
しかしこれはまったくエラーばかり どこが悪いのかわかりません。
開発環境はボーランドC
Re: 英語の文書の一番長い単語
コードはcodeタグで囲んでください。
エラーメッセージを貼り付けてください。
実行時エラーでしたら、どのような動作を期待し、実際はどのようになったかを教えてください。
エラーメッセージを貼り付けてください。
実行時エラーでしたら、どのような動作を期待し、実際はどのようになったかを教えてください。
#include<stdio.h>
int main()
{
int c, f = 0;
int *i,*p;
int t=0;
FILE *fp;
fp = fopen("D:\\test002.txt","r");
/* ファイルを開けたかチェックしたほうがいい */
while((c = getc(fp)) != EOF)
{
for(i=0;i<456;i++) /* なぜ? */
{
if(c == ' ' || c== '\n' || c == '.' || c == ',')
{
/* tはint型なので配列添字アクセスは不可能 */
/* pが初期化されていないのでアクセス違反 */
/* iはポインタ型なので不適切 */
t[i]=*p;
}
f = 0;
}
}
fclose(fp);
printf("%s\n ",t); /* tはint型なので型の不一致・アクセス違反の危険 */
return 0;
}
最後に編集したユーザー みけCAT on 2012年12月19日(水) 12:09 [ 編集 2 回目 ]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
-
齊藤
Re: 英語の文書の一番長い単語
<code>
#include<stdio.h>
int main()
{
int c, f = 0;
int *i,*p;
int t=0;
FILE *fp;
fp = fopen("test.txt","r");
while((c = getc(fp)) != EOF)
{
for(i=0;i<456;i++)
{
if(c == ' ' || c== '\n' || c == '.' || c == ',')
{
t=*p;
}
f = 0;
}
}
fclose(fp);
printf("%s\n ",t);
return 0;
}
</code>
エラー
comparison between pointer and integer
期待する結果
test.txt内にある単語のうち一番長い単語を表示
#include<stdio.h>
int main()
{
int c, f = 0;
int *i,*p;
int t=0;
FILE *fp;
fp = fopen("test.txt","r");
while((c = getc(fp)) != EOF)
{
for(i=0;i<456;i++)
{
if(c == ' ' || c== '\n' || c == '.' || c == ',')
{
t=*p;
}
f = 0;
}
}
fclose(fp);
printf("%s\n ",t);
return 0;
}
</code>
エラー
comparison between pointer and integer
期待する結果
test.txt内にある単語のうち一番長い単語を表示
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 英語の文書の一番長い単語
まず、配列やポインタの使い方が出鱈目です。勉強されたんですよね?
処理に必要だと想定しているc,f,i,p,tの変数の役割を言葉で書きだしてみて下さい。
それと、なぜ456なのかは私も教えて欲しいです。どこから出てきたんですか?
インデントも揃えたほうが良いでしょう。すごく読み辛いです。
処理に必要だと想定しているc,f,i,p,tの変数の役割を言葉で書きだしてみて下さい。
それと、なぜ456なのかは私も教えて欲しいです。どこから出てきたんですか?
インデントも揃えたほうが良いでしょう。すごく読み辛いです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 英語の文書の一番長い単語
「どこが悪いのか」というより、「なぜ、これで動くと思っているのか」理解できないので齊藤 さんが書きました: しかしこれはまったくエラーばかり どこが悪いのかわかりません。
どう、アドバイスすればよいのかわからないですね。
齋藤さんがどのような考え方(アルゴリズム)で作ろうとしているのか説明してください。
PS. ソフト屋さんとかぶった
non
-
Rinfo
Re: 英語の文書の一番長い単語
サンプル書いてあげればいいんじゃないでしょうか?
齊藤さんもそれみて理解できると思うし。
私はちょっと時間が無いので・・・。
ファイル名だけちがくしてあげてさ
齊藤さんもそれみて理解できると思うし。
私はちょっと時間が無いので・・・。
ファイル名だけちがくしてあげてさ
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 英語の文書の一番長い単語
齊藤さん、自作自演しないで下さい。
デメリットはあっても意味無いですよ。
デメリットはあっても意味無いですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
齊藤
Re: 英語の文書の一番長い単語
なんでばれたんでしょうか・・・。
ぜんぜnわかんなくて。
もうそうしたらいいか・・。
このままだと故郷に残してきた祖母より先に現世とおさらばかと思われます・・・。
ぜんぜnわかんなくて。
もうそうしたらいいか・・。
このままだと故郷に残してきた祖母より先に現世とおさらばかと思われます・・・。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 英語の文書の一番長い単語
アドバイスを受けて自分で勉強してする気はもう無いということでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
高橋
Re: 英語の文書の一番長い単語
あります。
ですがなにからやればいいのかわからないのです。
さきほどC言語を学びました。
そんな僕が出された課題がこれです。
すこしでいいんです。
char型なのかとか おしえてください。
ですがなにからやればいいのかわからないのです。
さきほどC言語を学びました。
そんな僕が出された課題がこれです。
すこしでいいんです。
char型なのかとか おしえてください。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 英語の文書の一番長い単語
解決されたようですが、折角書いたので。
名前をコロコロ変えないでください。
それと配列とポインタを学んでいるはずです。
さきほど学んだといえる内容ではないので学校から何週間か何ヶ月はC言語を勉強しているはずですよね?
下記サイトの内容で言えば、「17.ファイルの取り扱い」まで学んでいないと出されない課題だと思います。
「苦しんで覚えるC言語」
http://9cguide.appspot.com/
ちなみに現状は
c:int型 → 読み込んだ一文字
f:int型 → 意図不明
i:int型ポインタ → 未初期化なので使ってはいけません。
p:int型ポインタ → 未初期化なので使ってはいけません。
t:int型 → 意図不明。多分表示する最長単語のポインタが欲しい?
456:出所不明
名前をコロコロ変えないでください。
それと配列とポインタを学んでいるはずです。
さきほど学んだといえる内容ではないので学校から何週間か何ヶ月はC言語を勉強しているはずですよね?
下記サイトの内容で言えば、「17.ファイルの取り扱い」まで学んでいないと出されない課題だと思います。
「苦しんで覚えるC言語」
http://9cguide.appspot.com/
ちなみに現状は
c:int型 → 読み込んだ一文字
f:int型 → 意図不明
i:int型ポインタ → 未初期化なので使ってはいけません。
p:int型ポインタ → 未初期化なので使ってはいけません。
t:int型 → 意図不明。多分表示する最長単語のポインタが欲しい?
456:出所不明
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。