No.7
- 回答日時:
プログラミングの練習でしたらソートを書いてみたらいかがでしょうか。
「配列に入っている文字列の文字を降順および昇順にならべかえよ。」
どういった順番で作るか分からなければトランプを並べ替えて、手順を考えるとよいと思います。
多分そのうち、ソートも習うと思いますが・・・
ソートといっても「バブルソート、シェルソート、バイナリ(2分樹)ソート」など色々な方法があります。
どのようにしたらプログラムが上手に作れるようになるかというのは、設計に近い内容なので、もっと専門的に詳しく勉強してみたいならば「Cによるらくらく構造化設計國友義久 著 1992年2月20日 CQ出版 ISBN 4-7898-3308-9」(絶版または重版未定なので復刊どっとコムで投票を受け付けています)を図書館で捜して読んでみるよよいと思います。
まぁ、先をあせらず今の課題をじっくりと学習していってください。
毎日の積み重ねがあってこそ日の目を見る日がやってくることでしょう。
1992年ってけっこう昔ですよね。
けど、それでも紹介するということは、とってもいい本なんですね。
ぜひ、調べてみます。
回答ありがとうございました。
No.6
- 回答日時:
> それらだけでですよ!
main関数は作れるとしても、配列以外の変数も、演算子も、標準関数も一切使えないのですよね。int型とリテラルは使えるのでしょうか?
むしろ、
「if文、while文、for文、switch文、および配列だけで、コンパイル、実行&終了可能なプログラムを書け。プログラムが何らかの役に立つかどうかは問わない」
という問題でも結構難度が高いと思います。
リテラルって何ですか?
いや何か問題とかないだろうかと思ったんですが・・・。それだけじゃ難しいんですね。
じゃあ、もっと覚えてからリベンジします。
回答ありがとうございました。
No.5
- 回答日時:
あっ、分かりづらかったですか。
じゃあ、ちょっと変えて、
static char moji[13] = {
'0','2','1','0','3','1','0','4','0','9','4','0','2','3' };
int count[10];
の配列を用意してもらって。
moji配列中に'0'~'9'の文字の各々登場する回数をカウントしてcount配列に格納してください。'0'が5回とかカウントします。
ルール。
・charは習ってますよね?
・if文とswitch文は使用禁止です。
・for文かwhile文は使用可能。
以上です。
No.4
- 回答日時:
No.1です。
プログラムには、ランダム関数という乱数(バラバラ数)を
導き出す関数があります。
それを使わないと、数字がばらばらに出ないので、ロト6を
占うには面白さが欠けます。
(RPGゲームの「何ポイントのダメージ!」とかはランダム
関数です。)
よって、ランダム関数を利用するわけですが。
関数を書くと判りますが、コンピュータのランダム関数は、
毎回バラバラなりに同じ数字が返ってきます。
例えば、1回目に、「1,26,43,15,24,11」と返ってきたとき、
そのソフトを終了し再度実行するとまったく同じ「1,26,43,15,24,11」
という文字列が返ってきてしまいます。
そこで、現在の時刻、例えば「2007/07/12 0:25:43」のような
常に変わりゆく数字を利用し、上記のランダム関数に味付けとして
加えてやると、同じ数字が二度と出ません。
例えば、簡単な例では秒数を44で割った余りを足すだけでも
「1,26,43,15,24,11」それぞれに+幾つを足すのでバラけて見えます。
そういう意味で、日時を利用すると面白い数字が返ってくると
いうわけです。
なお、例に書いてあるように、数字の順番はバラバラで取れる
はずです。
ただ、ロト6を買うには1からの順番が書きやすいですよね?
ということは結果を並び変えたいですよね?
という意味で、1から43は配列を利用。
ゆとりがあれば、ソート関数で並び変えられるようにするわけです。
そのほか。
複雑なものになると、
・トランプのポーカー役、麻雀役
・自販機の釣銭計算
・曜日計算、週計算、時間計算
…ふと思いつくだけでも仰る構文を利用するアルゴリズムは
超大量にあります。
普段何気ないものでも結構難しいものですよ。
お試しください。
このプログラムは乱数を覚えないと組めませんよね・・・。というわけで、乱数を理解して、このプログラムを組んでみます。
回答ありがとうございました。
No.2
- 回答日時:
えーと、じゃあ問題を。
『if else』の問題。
変数aが1なら変数bを3に、変数aが2なら変数bを1にしてください。
『while』の問題。
入力された数値が、1~5以外だったら警告して、もう一度入力させるプログラムを作ってください。
『for』の問題。
1,3,5,7,9,11,・・・・変数nまでの数列をforを使って足してください。
『switch』の問題。
変数aが1,4,8,9なら変数bを2に、変数aが2,3,7なら変数bを1にしてください。それ以外は変数bを0にしてください。種類を分類します。
『配列(t[])』の問題。
文字列"0103405067020"でそれぞれ登場する数字の数を数えなさい。
この回答への補足
すいません。
配列の問題なんですが・・・
”0103405067020”で登場する数字の数とはいったいどういうことなのでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムによく出てくるst...
-
C#でstringをポインタとして渡す
-
c#で他のアプリの文字入力フォ...
-
シリアル通信で0x00を送信した...
-
数字の入った配列をファイルへ...
-
VB6.0でのバイナリデータの扱い...
-
C++で文字列の右端から特定の文...
-
構造体→文字列→構造体 をする方法
-
%dなどの違い
-
Excelシートを固定長のテキスト...
-
【c++】文字列の操作
-
関数から配列を返すには?
-
C言語 配列の長さの上限
-
VB.NETでファイル名順にファイ...
-
System.IO.Directory.GetFiles...
-
C言語のポインタに直接アドレス...
-
VBAのプログラムで、DIAG = 1# ...
-
セグメントエラー
-
CStringからchar*への型変換に...
-
配列の要素数に変数を入れたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムによく出てくるst...
-
C#でstringをポインタとして渡す
-
nullと""、\\0とEOFの違いにつ...
-
WSH(VBS)でJSONの文字列を読み...
-
VB6.0でのバイナリデータの扱い...
-
TCL言語で文字列検索方法を教え...
-
C++で入力した文字列から数字を...
-
シリアル通信で0x00を送信した...
-
16進数を2文字ずつ配列に格納し...
-
char型配列の最大要素数
-
[C++]WCHARの1文字目しか表示で...
-
_tcscpy_s(wcscpy_s)の第二引数...
-
構造体→文字列→構造体 をする方法
-
%dなどの違い
-
数字の入った配列をファイルへ...
-
c#で他のアプリの文字入力フォ...
-
引用符と二重引用符
-
Shift_JIS(16進)を文字に変換す...
-
CSVファイルの「”」について
-
AnsiStringについて
おすすめ情報