■C言語の基本問題-第一問■
■ このスレッドは過去ログ倉庫に格納されています
0001常識
NGNG変数は x[] moji[] cnt[] を使用することにする。
必要なら上記以外の変数を使用しても可。
結果例)------------------------------------
Enter:kasdaask
a:3 kai
s:2 kai
d:1 kai
k:2 kai
-----------------------------------------
これを表示するためのプログラムを、C言語で記述せよ。
#include<stdio.h>
void main(void)
{
ここを考える
}
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG宿題か?
0004
NGNGreturn 0;
0005
NGNGへたれプログラマー逝ってよし。
KBって書いてあるだろ!ゴルァ!
0006ビル・ジョブス
NGNG0007デフォルトの名無しさん
NGNG教えろ
00084
NGNG知ってるよ!ボケ!
各アルファベットを何回使ったか表示するプログラムだろ、1問目からめんどくせーじゃねーか!
0009デフォルトの名無しさん
NGNG終了はどうするんだよ。
終了の際に押したキーもカウントするのか?
00104
NGNG0011常識
NGNG任意で入力した文字を、1つずつ(重ならないよう)並べて、
その文字が何回使用されたかを、出力する問題。
答え、知りたい?
0012デフォルトの名無しさん
NGNG> a:3 kai
> s:2 kai
> d:1 kai
> k:2 kai
なぜ「kai」?出力はテレタイプ?
0013デフォルトの名無しさん
NGNG0014
NGNGはぁ、ここは、なんちゃってが多いな。
00154
NGNG0016デフォルトの名無しさん
NGNG出力は辞書順にする必要あるか?
0017デフォルトの名無しさん
NGNG変数名指定するのって、凄く宿題臭いですの。
しかも莫迦っぽいですの。
0018デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG0021常識
NGNG----------------------------------------
char x[100];
char moji[100];
char cnt[100];
int x,y;
//文字列の入力
printf("Enter:");
scanf("%s",x);
--------------------------------------------------------
ヒント:変数の使い道
x[100]⇒kasdaask
moji[100]⇒kasd
0022デフォルトの名無しさん
NGNG変数なのに[]?
配列っていえや!モルァ
0023常識
NGNGそんなに作られた変数がいやなら、好きにしろ!
ここでは、メイン関数にintは使わない。
0024デフォルトの名無しさん
NGNG尚かつ、moji[100] で cnt[100]!
参った>>21
0025常識
NGNG0026デフォルトの名無しさん
NGNG"kasdaask" と入力されてasdkの順に出力されてるのだが、
どんな方法か全く思いつかない。
きっとものすごいアルゴリズムが必要なのだろう。
0027デフォルトの名無しさん
NGNGすまん。>>1にはそんな知識は無いんだ。
なんたってchar x[100];だぞ。こういうときは普通ヒープ使うだろ?
0028デフォルトの名無しさん
NGNG何で配列じゃないとダメなの?
宿題なんだろ、早く白状しろ。
今ならまだ怒らないから。
0029
NGNGお前の頭に参った。
0030デフォルトの名無しさん
NGNG0031常識
NGNGはい。宿題でした。ごめんなさい。
0032デフォルトの名無しさん
NGNG0033常識
NGNG0034
NGNGおいおい・・・マジなのかよ
0035デフォルトの名無しさん
NGNGキーボードの、キーの並び順じゃないのか ?
0036
NGNG馬鹿か?乱数を使うに決まってるだろ!
0037
NGNG君、面白いな、ツボつかれた(藁
0038うんこ
NGNGint cnt[256], c, i;
for(i=0;i<256;i++) cnt[i]=0;
printf("Enter:");
while((c=getchar())!='\n') cnt[c]++;
for(i=0;i<256;i++) cnt[i] && printf("%c:%d kai\n", i, cnt[i]);
return;
>>35
教官がキーボードを左から順に…(ワラ
0039デフォルトの名無しさん
NGNGstaticにしろよ
004015
NGNG変数cは初期化しなくていいのか?
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG↓この行の意味わかる?
while((c=getchar())!='\n') cnt[c]++;
0043デフォルトの名無しさん
NGNG004438
NGNGこんなプログラムでそんなこと気にしてどないすんねんっちゅう…。
まあ、確かに俺は厨房だけど。
>>40
c=getchar()で最初に使ってるのに初期化してどないすんねんっちゅう…。
>>41
printfとgetcharって何か問題でも?
>>42
moji[]モナー
004615
NGNGscanfが無いのにどうやって入力するの?
004815
NGNGおれはまだそうゆう使い方習ってません。
基本問題1問目なのにそんなの使うのか?
0049常識
NGNGえ〜〜〜〜〜〜〜〜〜〜。
こんなやり方、あったの?信じられない〜!!
getcharって-1を返す
なつかしい、響き。
00501.22
NGNG(*& * p = * p - 10 * 5) = 1 && 1 & 0 && & p || 0;
これはなんて言うエラーが表示される?
当ててみろ!
00511.22
NGNGそんなアフォはいないと思うが。
0053デフォルトの名無しさん
NGNGエラー:スレッドが違います。
0054デフォルトの名無しさん
NGNG処理系依存だけどね。
0055常識
NGNGポインタ?か?これ?
0056
NGNGエラー:逝ってよし!
0057デフォルトの名無しさん
NGNG(*& * p = * p - 10 * 5)
この結果は左辺値じゃないから、代入できんやろ。
0058デフォルトの名無しさん
NGNG左辺が左辺値(ていうんだっけ?)ではないとか?
* & とかのほうが = より優先度高そうだし。
0059sage
NGNGint cnt[256] = {0};
が簡単。
しかし 0x00〜0xff まで受け付けるのに "%c" は如何なものか。
006015
NGNGそれよりもscanfなしで入力できるの?
0061デフォルトの名無しさん
NGNG三村やってるぐらいなら
コード書いてくれ
0062デフォルトの名無しさん
NGNG普通にコンパイル通りますがなにか?
0063デフォルトの名無しさん
NGNG多分こうだろう。
0064デフォルトの名無しさん
NGNGほんと?一字一句間違いなく入力した?
どう見ても左辺が左辺値になってないからコンパイル通らないよ。
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGgetcharがあるよ。
0067デフォルトの名無しさん
NGNGこれって単純に
*p = 0;
やってるだけでそ。
つーか、コンパイルするなっつといて「ほんと?一字一句間違いなく入力した?」はないだろ。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG出力するにはどうやるの
0070
NGNGは一年中がひなまちゅり。
0071デフォルトの名無しさん
NGNGどのコンパイラ?
0072デフォルトの名無しさん
NGNG007415
NGNG何に対して?
0075デフォルトの名無しさん
NGNG作り出されるのは右辺値だと思うが。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG(*p = 0) = 0;
の方が近い。>>75の通り、これは
0 = 0;
になる。(0 == 0 じゃねーぞ)
当然コンパイルエラー。
0078デフォルトの名無しさん
NGNGstd outに対して・・・
0079デフォルトの名無しさん
NGNGputchar
0080デフォルトの名無しさん
NGNG(*p = 0) = 0;
が通るんだよね。
0081デフォルトの名無しさん
NGNGfputc(euc);
0082デフォルトの名無しさん
NGNGほんとに助かりました
いま、自分のコンパイラprintf使えないもんで・・・
0083
NGNGCASL�Uの問題スレにしましょう。
0084デフォルトの名無しさん
NGNGこの問題出した教官の言うことはあまり信じない方がいいと思うよ。
0085デフォルトの名無しさん
NGNGあ、ほんとだ。>>50でエラー出ないね。普通にi=0で正常終了するわ。
0086デフォルトの名無しさん
NGNGなんじゃそりゃ…
0087
NGNGprintfが使えないコンパイラなんてないだろう。
0088デフォルトの名無しさん
NGNGまじ?それってC言語の文法を逸脱してるような…
0089デフォルトの名無しさん
NGNGhttp://ime.nu/www.baseball-lover.com
0090デフォルトの名無しさん
NGNG>>82は組み込み系だと思う。
0091
NGNG何組み込み系って?stdio.hが無いの?
0093デフォルトの名無しさん
NGNG009488
NGNG>>50はその問題を踏まえてあんなこと書いてたのか?深すぎるぞ。
ちなみにgccでは、
invalid lvalue in assignment
のエラーになる。
0095デフォルトの名無しさん
NGNGなるほろ
0096デフォルトの名無しさん
NGNGLSI C86 試食版なんですが・・・
あと、既知のものではsin,cos,なども使えません
試食版ってこんなものですか?
製品版って値段いくらぐらいするんですか
っていうかLSIC86の試食版以外きいたことないんで
存在するのかどうか・・・・
0097デフォルトの名無しさん
NGNG>1さんが学校でどの教科書使ってるか教えて( ‘д‘)ホスィ
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG試食版なら使えるよ。>printf
ちゃんとinclude出来てないんじゃないの?
っていうか、BCC55使えよ。
> っていうかLSIC86の試食版以外きいたことないんで
> 存在するのかどうか・・・・
非常に有名だったよ。
0102デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105
NGNG俺の持っている参考書は付録で LSI C86 試食版のCDが付いてたけど、
printfは普通に出てくるよ、使えもしない関数を参考書で使ってるのか?
俺はVC持ってたから全然気が付かなかったけど、
しかも入門書なのにそんなんでいいのか?
0106デフォルトの名無しさん
NGNG興味本位で入れてみました
VC++、BCC、gcc(Cygwin)、はすでに
インストールしてあったので
LSIC86はどうかなと思って試したら
つかえなかった・・・
DLはやめて、CマガのCDROMから入れたらOKでした、
お騒がせしました
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG落とすまでも無い。
0109デフォルトの名無しさん
NGNGLinux,Cygwinに入ってるっていうのはなしよ
あくまでも、gcc単体のDL先
0110109(騙り)
NGNG0111109
NGNGん?
きみ、文句もってるの?
0112デフォルトの名無しさん
NGNGそう、君は煽られている。
0113騙り
NGNG0114107
NGNG0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG(w
0117デフォルトの名無しさん
NGNGこんなのが・・・
://japan.cnet.com/News/2001/Item/010620-4.html
0118
NGNG何故、こんな問題が解けない。
scanfを使って、順番に並べるだけなのに。
0119ありがとう
NGNG広告メールの配信企業は他にも多数あります。しかし登録したはいいがメールが来ない、懸賞は自作自演、
果てには個人情報収集目的のサービス実態のない所まであります。
その点このサイトは月10通〜20通の配信実績がありますし、何より住所・電話番号等不要なので匿名性がかなり高く、安心。
それにちゃんと送金してくれます。私も既に3回送金してもらいました。
ポイントが加速度的に増えるサービス、いくつかありますので仮登録したらCheckしてみて下さい。
※注意※
必ず 本登録 して下さい。仮登録のままではポイントが加算されません。
本登録スタートボタンのURLが載ったメールが来るまで数日〜数週間かかりますが、待っただけの価値は十二分にあります。
ともかく時間がかかることが多いので早めに仮登録を済ましておくことをお勧めします。
その後の本登録維持も忘れないようご注意下さい。(何かと面倒なのも広告出稿者を多く集める為の策のようです)
興味のある項目を答えるアンケートでは全てチェックを入れるのが吉。その分配信メールが増えてポイント増。
Ariga10.com http://www.ariga10.com/?id=207054
こちらから登録できます。記入欄は少ないので時間はほとんどかかりません。
0120デフォルトの名無しさん
NGNGconst 就職子をつけた変数は初期化された値から変更されないってKRでよんだんですが
const a[0] = "abcde";
とやって、その後、a[0] = "fghij";
とやると、printfさせるとfghijになってるんですが、これって変更できちゃってるんじゃ
ないの?
0121デフォルトの名無しさん
NGNG正 const char *a[0] = "abcde";
const char *a[1] = "ABCDE";
0122デフォルトの名無しさん
NGNGうーん、
ポインタのときは
constの場所が重要だと思います
どういう書き方しましたか
0123107
NGNGコンパイル済みgccってファイル名にbinaryとかかいてあるの?
前間違ってソース全部落としちゃったから
0124デフォルトの名無しさん
NGNGint f(char c,const char *p)
{//文字列pを走査しcと同じ要素があれば1、無ければ0
while(*p != '\0')
if(*p++ == c) return 1;
return 0;
}
int main(void)
{
int i,a[256] = {0},n;
char s[256],m[256],*p = m;
printf("Enter:");
gets(s);
for(n = i = 1,m[0] = s[0];s[i] != '\0';i++){
m[i] = '\0';
if(!f(s[i],m)) //登録されてない要素なら登録する
m[n++] = s[i];
}
m[i] = '\0';
n = i = 0;
while(s[n] != '\0'){
if(s[n++] == *p){
a[i]++;//カウント
}else{
p++;
a[++i]++;
}
}
for(i=0,p=m;*p != '\0';p++,i++)
printf("%c:%d kai\n", *p, a[i]);
return 0;
}
できたと思ったがダメだった・・・勉強が足りんね。
0125デフォルトの名無しさん
NGNG>>38 見れ。
あと「scanf は…」って意見も前のほうで出てました。
0126VBのほうがらくなんで、つい。
NGNGDim st$, ms$, i&, k&
st = InputBox("Please Input Keys"): For i = 0 To 255: k = Len(st) - Len(Replace(st, Chr$(i), "")): If k >= 1 Then ms = ms & Chr(i) & CStr(k) & "kai" & vbCrLf
Next: MsgBox (ms)
End Sub
0127デフォルトの名無しさん
NGNG>>122
>>121 に書いたのですが、このような初期化の仕方ではまずいのでしょうか?
0128デフォルトの名無しさん
NGNGソースだと何が悪いの?
0129デフォルトの名無しさん
NGNG> 正 const char *a[0] = "abcde";
って char へのポインターの配列か?
なら const がかかるのは配列の要素つまりポインターじゃないか
要するに「アドレスは書き換えませんよ」って事だろ
0131デフォルトの名無しさん
NGNG>>130
あぁそうか、、、わかりました。逝ってきます。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG> const char* const a="abcde";
配列になってないじょ
121がしたいのは「書き換えられない文字列の配列」じゃないか?
でもどうしたらいいのか分からん^^;
誰か模範解答キボンヌ
0134デフォルトの名無しさん
NGNGconst char* const a[] = { "abcde", "ABCDE", };
では?
0135デフォルトの名無しさん
NGNG>>133
>>134
constって使い方難しいね
const a[] というように char とか型指定子でないものにかかる場合って
どういう意味なんだろう。最初と2番目のconstのかかり方がよくわからん。
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGあんがとさん>>134
漏れも逝ってきます。
0138デフォルトの名無しさん
NGNG識別子から外へ読んでいく。
const char * const a[] → const 『char 『* 『const 『a[]』』』』
1. a[] → a は配列。
2. const 『a[]』 → a は(定数の)配列。
3. * 『const 『a[]』』 → a は((ポインタの)定数の)配列。
4. char 『* 『const 『a[]』』』 → a は(((文字列への)ポインタの)定数の)配列。
5. const 『char 『* 『const 『a[]』』』』 → a は((((定数の)文字列への)ポインタの)定数の)配列
0139138
NGNG0140デフォルトの名無しさん
NGNG>>138
うわぁ〜丁寧な説明ありがとう
すごく分かりやすい!
0141デフォルトの名無しさん
NGNG1.const int *p;
2.int* const p;
3.const int* const p;
の違いは?
0142141
NGNGいろんなこといって、実は初心者か?みんな
0143デフォルトの名無しさん
NGNGも :)
0144デフォルトの名無しさん
NGNGあまりにバカらしくて誰も答えないに5000ポインタ
0145デフォルトの名無しさん
NGNG割り当てられていないアドレス
0146デフォルトの名無しさん
NGNGお前>>138の説明読んでもわかんねーの?プ
0147デフォルトの名無しさん
NGNGchar *p; // ポインタは const ではない。データも const ではない。
const char *p; // ポインタは const ではない。データは const である。
char * const p; // ポインタは const である。データは const ではない。
const char * const p; // ポインタは const である。データも const である。
char const * const p; // ポインタは const である。データも const である。
ポインタ宣言のアスタリスクの上を通る垂直の線があると考えればいい。
その線の左側に const があれば、ポインタそのものが指している対象が定数であり、
銭の右側に const があれば、ポインタそのものが定数である。
型名の前に const を書くのと型名とアスタリスクの間に const を書くのは同一である。
0148訂正
NGNGconst char *p = "hello"; // ポインタは const ではない。データは const である。
char * const p = "hello"; // ポインタは const である。データは const ではない。
const char * const p = "hello"; // ポインタは const である。データも const である。
char const * const p = "hello"; // ポインタは const である。データも const である。
0149デフォルトの名無しさん
NGNGこんな書き方、使ったことなかったよ。
0150138
NGNGconst char * const (*hoge)(const char * const base);
なんてどう?
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG引数として 参照データも参照先も変更できない char ポインタを受け取る。
0154デフォルトの名無しさん
NGNG参照データを変更できない、参照先を変更できない char ポインタを返す関数ポインタ hoge で、
引数として 参照データも参照先も変更できない char ポインタを受け取る。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています