2017-12-27 14 views
-3

Die Programmierung Herausforderung I Zustände wie zu lösen versuchen: Schreiben Sie eine Funktion, die drei Argumente akzeptiert: ein Array, die Größe des Array und eine Zahl n. Angenommen, das Array enthält Ganzzahlen. Die Funktion sollte alle Zahlen im Array anzeigen, die größer als die Zahl n sind.Wie einfach C implementieren ++ Funktion

#include "stdafx.h" 
#include <iostream> 
#include <iomanip> 
using namespace std; 
void largerThanN(int a[], int size, int n); 
int main() 
{ 
    int size = 3, 
    n  = 1, 
    arr[3] = { 0,5,6 }; 
    largerThanN(arr, size, n); 
} 

void largerThanN(int a[], int size, int n) 
{ 
    for (int i = 0; i < size; i++) 
    { 
     if (a[i] > n) 
     { 
      cout << a[size] << " is greater than n " << endl; 
     } 
    } 
} 

Das ist, was ich bisher gewunden habe, aber ich weiß nicht, ob dies zur Lösung der Herausforderung auch nur entfernt nahe ist, vielleicht etwas Richtung von pro C++ Entwickler helfen würde.

EDIT: Ich habe es mit etwas Hilfe von euch Jungs in den Kommentaren herausgefunden, danke Jungs für die Unterstützung eines Newbie aus. das bedeutet viel.

+1

'stdafx.h' etwas tun, ist ein Nicht-Standard-Header. SO ist kein Hausaufgabenservice. Lesen Sie [more] (http://en.cppreference.com/w/cpp) über C++, verwenden Sie dessen Standard [containers] (http://en.cppreference.com/w/cpp/container). Kompilieren Sie alle Warnungen und Debug-Informationen, und verwenden Sie den Debugger. Die Signatur von 'largerThanN' ist falsch, diese Funktion sollte eine' bool' oder vielleicht eine 'void' geben (und dann wird sie schlecht benannt) –

+1

@OP Warum akzeptieren Sie Benutzereingaben mit' cin'? Aus der Problembeschreibung sollte das Array int [] (das Sie nicht in 'gr ?? terThanN' benannt haben) alle Werte enthalten, die Sie gegen – wKavey

+2

testen sollen. Vielleicht wollen Sie ein [gutes C++ Buch] (https://stackoverflow.com)/q/388242/1782465). – Angew

Antwort

2

Sie können wie this-

#include <iostream> 
using namespace std; 
void largerThanN(int[], int size, int n); 

int main() 
{ 
    int size; 
    cin >> size; 
    int a[size]; 
    for(int i=0; i < size; i++) 
     cin >> a[i]; 
    int n; 
    cin >> n; 
    largerThanN(a, size, n); 
    return 0; 
} 

void largerThanN(int a[], int size, int n) 
{ 
    for(int i = 0; i < size; i++) 
    { 
     if(a[i] > n) 
      cout << a[i] << endl; 
    } 
} 
+0

Ich habe es ein wenig mehr gehackt und hatte genau das gleiche für die Funktion, aber was Sie in main() getan haben, hat mir wirklich geholfen zu verstehen, wie man Werte an Funktionen weitergibt. Danke @arnab –

0
#include "stdafx.h" 
#include <iomanip> 
#include <iostream> 
using namespace std; 
double largerThanN(int[], int size, int n); 

int main() { 
    int arr_size; // array size 
    cin >> arr_size; 
    vector<int> arr(n); 
    cout << "Enter values: "; 
    for (int i=0; i<n; i++) 
     cin >> arr[i]; 
    int n; 
    cin >> n;  // the no. to search for 
    largerThanN(arr, arr_size, n); 
    return 0; } 

void largerThanN(int[], int size, int n) { 
    int index; 
    for (index = 0; index < size; index++) 
    { 
     if (values[index] > n) 
      cout << values[n] << endl; 
    } } 
+0

war das nützlich? – CSRP

+0

das half, danke @csrp –

Verwandte Themen