ポインタを使って昇順に並び替える問題について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
あや
記事: 28
登録日時: 4年前

ポインタを使って昇順に並び替える問題について

#1

投稿記事 by あや » 4年前

2つの整数変数value1,value2に設定された値を小さい順に出力する問題です.
2つの整数変数value1,value2の値は、main関数中でcinから受け取ります.
2つの整数の並べ替えには、渡した引数2つの値を小さい順に入れなおす関数を作成してその中で行います.
その関数の中では、ポインタの参照先のデータを扱います.
結果の出力は、main関数中でcoutに対して行います.
以下が現在のコードです.

コード:

#include <string>
#include <fstream>
#include <iostream>
using namespace std;

/********************************
メイン関数
********************************/
int main() {

	int value1, value2; 

	cout << "2つの整数を入力してください" << endl;

	cin >> value1 >> value2;
	
	sort2(&value1, &value2);
		  
	cout << value2 << endl << value1;
	
}

void  sort2(int* pValue1, int* pValue2) {
	if (*pValue1 > * pValue2) {
		int temp= *pValue1;
		*pValue1= *pValue2;
		*pValue2 = temp;
	}
}
sort2(&value1, &value2);の部分にエラーが出るのですが,コードをどのように直せばいいでしょうか?
他にもおかしいところがあったら教えてください.よろしくお願いします.

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ポインタを使って昇順に並び替える問題について

#2

投稿記事 by みけCAT » 4年前

普通の環境では、全角の&は演算子として使えません。
2個とも半角の&にするといいでしょう。

また、関数sort2の宣言を、それを呼び出している場所の前に追加する必要もありそうです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
asd
記事: 319
登録日時: 13年前

Re: ポインタを使って昇順に並び替える問題について

#3

投稿記事 by asd » 4年前

https://teratail.com/questions/219131

マルチポストをする際の相互リンクを張るルールは守ってくださいね。
rules#board-rule-1-5

過去の質問について解決したものは解決したソースを張り付けてくださいね。
viewtopic.php?f=3&t=20804
viewtopic.php?f=3&t=20806
Advanced Supporting Developer
無理やりこじつけ(ぉ

返信

“C言語何でも質問掲示板” へ戻る