さて、ここでは対処します。私は数日間この問題に取り組んでおり、利用可能なすべてのリソースを試しました。今朝、私は最後のリゾートメールを私の教授に送りましたが、私は彼の答えを待つ間にそれに取り組もうとしています。私は0から1410の間の乱数の配列の中で最小の値へのポインタを返すことになっています。割り当てにはスケルトンファイルが含まれていましたが、私は物事を根本から(もちろん彼のパラメータを使って)ビルドするのが好きです。ここに私のコードは次のとおりです。関数からポインタとして最小値を返す
#include <iostream>
#include <cstdlib>
using namespace std;
int* find_smallest_number(int*, int);
int main()
{
const int size = 10;
int random_array[size] = {};
int* smallestNumber = find_smallest_number(random_array, size);
srand(time(NULL));
for(int i = 0; i < size; i++)
{
*(random_array + i) = rand()%1410;
cout << random_array[i] << endl;
cout << &*(random_array + i) << endl;
}
cout << "The smallest number is " << *smallestNumber << endl;
return 0;
}
int* find_smallest_number(int *random_array, int size)
{
/*
for(int i = 0; i < size; i++)
{
if(*(random_array + i) > *(random_array + 1))
{
return *(random_array + i);
}
else if(*(random_array + i) < *(random_array + 1))
{
return *(random_array+1);
}
} */
return &min_element;
}
私は正直に私が試したどのように多くの異なる方法を伝えることはできません。これはちょうど最新の試みです(すべてが[ヘッドデスク]の大量に終了しました)。ヒントやヒントを試してみることができますか?私は値/アドレスを保持するために別の変数を作成しようとしましたが、私は現在知っているように多くの異なる方法を試しました(このmin_elementは私がインターネット上で見つけたものでした)。私はときどき私のコードをコンパイルすることができますが、私が行うと、配列内のFIRST要素の値/アドレスだけが返されます(私のコードがどのようなものであっても)。私がポインタを返そうとすると、怒って、 "intからint *への無効な変換"と私に教えてくれますか? (また、私のコードのフォーマットが少しずれている場合は、私はその指示に従おうとしましたが、それでも失敗している可能性があります)/
だから、どんな問題がありますか?誤った出力またはエラーメッセージを表示する。 – Marcin
配列を値で埋める前に 'find_smallest_number' **を呼び出すようです。それはうまく終わらないだろう。また、あなたのコードはコンパイルされません( 'min_element'とは何ですか?)。 –