コンピュータに10個のてきとうな数字を入力させ
それを、小さい順に並べ替えるプログラムです。
以下のようにしたのですが、エラー0 警告0 なのに動きません。
どこが違うのでしょうか?
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
const int NUM_ELEMENTS=10;
void sort(int*);
void generation(int*);
void exchange(int&,int&);
void sort(int* a){
int min, locate, i, j;
for(i=0; i<NUM_ELEMENTS-1; i++){
min = a[i];
locate = i;
for(j=i; j<NUM_ELEMENTS; j++){
if(min > a[j]){
min = a[j];
locate = j;
}
}
exchange(a[i],a[locate]);
}
}
void generation(int* a){
int i;
srand(time(NULL));
for(i=0; i<NUM_ELEMENTS; i++){
a[i] = rand();
}
}
void exchange(int& a,int& b){
int t;
t=a;
a=b;
b=t;
}
int main(){
int data[NUM_ELEMENTS];
generation(data);
sort(data);
return 0;
}
No.3ベストアンサー
- 回答日時:
動いていますが、結果を画面に表示させる部分が無いため
画面上には何も出ません。
やりたいことを全て書かないとコンピュータは
何もしてくれません(^^;
例えば,sort(data);の次あたりに
int i;
for ( i=0 ; i<NUM_ELEMENTS ; i++ )
printf("data[%d] = %d\n",i,data[i]);
のような物が必要です。
現在、どの構文が何をしてくれるのか
混乱中です・・・。
なんで、そうなるの??
ということだらけで・・・。
がんばって勉強します。
ありがとうございました。
No.4
- 回答日時:
> プログラムの実行をすると、背景が黒い画面になりますよね?
> そこに、Press any key to continue
> と表示されます。
これは恐らく正常に動作している状態だと思います。
chi-nao_chanさんのプログラムは、要約すると、
1.何も入力を受付けず
2.いくつかの数値を自動生成して
3.その数値をソートし、
4.何も出力(表示)せずに
5.終了する
プログラムなのです。
これでは、画面を眺めても何をしているか分かりません。
出力についてはterra5さんの回答で良いと思います。
入力については(自動生成で良いのならば修正の必要はありませんが、
質問は「入力」となっているので)いくつかのやり方がありますが、例えば
for(i=0; i<NUM_ELEMENTS; i++){
scanf("%d",&data[i]);
}
のようにすればできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
C言語 エラーの原因がわからな...
-
【C++】関数ポインタの使い方
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
if と配列の組み合わせ
-
素数 再帰関数
-
数字列を3桁ごとにカンマで区切...
-
read関数をノンブロッキングで...
-
ラップ関数とはどんなものですか?
-
(int *)の意味
-
C言語で分からないところがあり...
-
実数の整数部,小数部の取得
-
int型とfloat型の演算結果
-
単方向リストに適当な値を入れ...
-
16進数の計算の仕方を教えて下さい
-
「{ } で囲むだけ」は正しい?
-
エラー 添字が付けられた値が、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
c言語の配列を使ってサイコロを...
-
課題でつまってます・・・
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報