#include <iostream>
using namespace std;
int main()
{
const int num = 5;
int test[num];
cout << num << "人の点数を入力して下さい。\n";
for(int i=0; i<num; i++){
cin >> test[i];
}
}
}
}
for(int j=0; j<num; j++){
cout << j+1 << "番目の人の点数は" << test[j]<< "です。\n";
}
return 0;
}
----------
の
for(int s=0; s<num-1; s++){
for(int t=s+1; t<num; t++){
if(test[t] > test[s]){
int tmp = test[t];
test[t] = test[s];
test[s] = tmp;
の部分が理解できません。
s<num-1 は 0<4; ということでしょうか?
値が5つ入力されその値が
if(test[t] > test[s]){ にどの様に挿入されるのかが
解りません。
No.2
- 回答日時:
最初→3 6 2 7 4 だとすると
test[s] test[t]
3 6 交換→6 3 2 7 4 t++
6 2 t++
6 7 交換→7 3 2 6 4 t++
7 4 ループt END s=1,t=2 ※一番大きい値が左端になる
3 2 t++
3 6 交換→7 6 2 3 4 t++
6 4 ループt END s=2,t=3 ※2番目に大きい値が、左から2番目になる
:
というような感じになります。
この回答への補足
>test[s] test[t]
3 6 交換→6 3 2 7 4 t++
なぜ3と6が交換されるのか解りません。
ifというのは、もしその文がそのとうり(正しい)であれば実行されるのですよね。
if(3 > 6) で交換するのでしょうか?
No.1
- 回答日時:
理解できません、とおっしゃってる部分がソース中にないようですが。
たぶん、真中辺の閉じカッコがたくさんあるあたりでしょうね。
for文の文法はお分かりでしょうか。
これはループ処理になりますが、一回目のループでは
s<num-1 は 0<4 という意味になります。
従って「sの初期値を0として、num-1(つまり4)に達するまで繰り返す。ループの最後ではsに1を足す」という意味です。
二個目のfor文では、「tの初期値をs+1として、num(つまり5)に達するまで繰り返す。ループの最後ではtに1を足す」という意味です。
つまり、1~4番目までの値を順に終わりまで比べていって、その時着目しているものより大きいものがあったらそれと入れ替えています。
実際に絵を書いて、比べていくと分かりやすいと思いますよ。
お探しの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++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# C++ と、 1 2022/11/07 23:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力した文字列から母音だけを...
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
For文の終了値を関数にしても問...
-
strtokを使用したループ内でのs...
-
入力した数値を倍々するプログラム
-
ループを途中で抜けたいのですが。
-
PAD図の書き方
-
エクセルでC言語のfor文と同じ...
-
Excel VBAで年度をまたぐ期間の...
-
Matlabを使った心理学実験
-
COBOLのEVALUATE文
-
if文の中にfor文なのか、for文...
-
C言語 数字を削除する関数
-
PIC のプログラムについて ど...
-
for文while文の無限ループの違...
-
ゲームオーバーのプログラム
-
n重のfor文にするには?
-
文字列を後ろから1文字ずつ表示...
-
H8/3048マイコンAD/DA変換について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
エクセルでC言語のfor文と同じ...
-
ループを途中で抜けたいのですが。
-
エクセルVBAで Do While (1)って?
-
C言語forループが完結した場合...
-
For文の終了値を関数にしても問...
-
excel VBA if文について
-
入力した数値を倍々するプログラム
-
入力した文字列から母音だけを...
-
Excel VBAで年度をまたぐ期間の...
-
if文の中にfor文なのか、for文...
-
C言語、whileループを抜け出す...
-
for文while文の無限ループの違...
-
UWSCにてある一定の動作を無限...
-
__asm int 3でのブレイクポイン...
-
PIC のプログラムについて ど...
-
他言語で言うcontinue文
-
Cプログラムが終了しない
-
プログラムで関数は使わない方...
おすすめ情報