C言語 プログラム
1~45の数字の中からランダムに15ペアの組み合わせと残りの数字を表示するようなプログラムをつくりたいのですが,どなたか作ってくれませんか?
以下のような表示例みたいなのが,嬉しいです。お願いします。
Ex.
./ random
6-27
5-22
4-19
1-21
15-14
33-40
17-36
37-28
13-42
23-41
34-24
7-35
38-11
12-8
26-18
43
9
3
25
16
2
44
29
30
39
45
10
20
32
31
No.2ベストアンサー
- 回答日時:
乱数とソートが出来れば作れると思う。
#include <stdio.h>
#include <stdlib.h>
typedef struct _h_t{int n; double r;}h_t;
int cmp(const h_t *a,const h_t *b);
int main(){h_t h[45];int i;srand((unsigned)time(NULL));for(i=0;i<45;i++){h[i].n=i+1;h[i].r=(double)rand()/RAND_MAX;}qsort(h,45,sizeof(h_t),(int(*)(const void*,const void*))cmp);for(i=0;i<15;i++){printf("%d-%d\n",h[i*2].n,h[i*2+1].n);}for(i=30;i<45;i++){printf("%d\n",h[i].n);}return 0;}
int cmp(const h_t *a,const h_t *b){if(a->r<b->r)return -1;else if(a->r>b->r)return 1;return 0;}
参考URL:http://codepad.org/ZhYwjH4B
No.4
- 回答日時:
作りたいけれど作ってほしいという微妙な心理が盛り込まれた質問ですね。
Cのプログラムは自分で書いていただくとして、ヒントをかねてC++のプログラムを作ってみました。
#include <array>
#include <algorithm>
#include <numeric>
#include <iostream>
#include <iterator>
#include <boost/iterator/counting_iterator.hpp>
int main()
{
std::array<int, 45> a;
std::copy(boost::make_counting_iterator<int>(1), boost::make_counting_iterator<int>(46), a.begin());
std::random_shuffle(a.begin(), a.end());
std::for_each(boost::make_counting_iterator<int>(0), boost::make_counting_iterator<int>(15),
[&a](int i) { std::cout << a[i * 2] << '-' << a[i * 2 + 1] << std::endl; });
std::cout << std::endl;
std::copy(a.begin() + 15 * 2, a.end(), std::ostream_iterator<int>(std::cout, "\n"));
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 石取りゲームをC言語プログラムで教えてください 1 2022/04/09 14:16
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Ruby プログラミングについてです。教えていただきたいです。 実行例のように、整数xが1から12までにつき、 2 2022/12/19 22:47
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構文エラーが出ているのですが...
-
#defineの使い方について
-
openCVで動画が読み込めないエ...
-
なぜ、C++の標準ヘッダをインク...
-
指定した文字を削除したい
-
#include "fstream.h"
-
#define中の#のエスケープ
-
Linux Ubuntu19.10でQt5.14.1の...
-
STLでポインタのリストをsort()...
-
JPEGやPNGが読めるLoadImage関数
-
テイラー展開とその精度について
-
構造体配列のvectorへの変換と...
-
ファイル読み込みとmap処理
-
【C++】ヘッダ内でstringを格納...
-
コーディング
-
C言語からgnuplot呼び出し
-
構造体に決められた文字列を入...
-
mapの初期化
-
snprintfが使用できない。
-
Cでのパケットキャプチャについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラーが出ているのですが...
-
VC++で文字列から任意の文字を...
-
enumの値から定義名を文字列化...
-
switch文のエラーについて
-
空ENTERの判別
-
なぜ、C++の標準ヘッダをインク...
-
【C++】ヘッダ内でstringを格納...
-
C++での <iostream.h>と<iostre...
-
#include "fstream.h"
-
#define中の#のエスケープ
-
JPEGやPNGが読めるLoadImage関数
-
リモートデスクトップの接続元I...
-
CStringとString
-
string型のフォーマット書式指...
-
std::map の const 修飾について
-
VHDLのsignedとunsignedの違いは?
-
このプログラミング誰か教えて...
-
構造体配列のvectorへの変換と...
-
指定した文字を削除したい
-
構造体に決められた文字列を入...
おすすめ情報