C++ Programm zur eingabe einer Zahlenkette mit ausgabe vom max und der Position



  • Guten Tag,

    Ich bin neu hier im Forum da ich etwas Hilfe benötige.
    Für mein Studium in Fahrzeug Technik müssen wir Programmieren lernen, und ich bin ein absoluter Anfänger. Habe versucht mich selber dadurch zu kämpfen aber komme nicht weiter. So genug von mir mein Problem sieht wie folgt aus: Die Aufgabe lautet :
    Schreiben Sie ein C-Programm. In diesem Programm sollen folgende drei Aufgaben in der angegebenen Reihenfolge gelöst werden!
    1: Ein Feld A mit n (z.B. n=12) ganzen Zahlen wird über die Tastatur eingegeben.
    2: Das komplette Feld A wird zur Kontrolle auf dem Bildschirm ausgegeben.
    3: Das Maximum des Feldes A (max) und seine Position (pos) im Feld werden ermittelt und auf dem Bildschirm ausgegeben.

    also 1 und 2 und max bekomme ich hin nur die Position bekomme ich nicht hin. Bitte um Hilfe

    das hab ich schon
    #include <iostream>
    #include <sstream>
    #include <stdio.h>
    using namespace std;

    int main ()
    {
    int *zahlFeld,i,sum;
    int postenZahl;
    char c;

    do{ //schleife zum wiederholen

    cout<<"Anzahl der Ganzen Zahlen eingeben:   ";
    cin>>postenZahl;
    
    zahlFeld= new int [postenZahl];
     
    for(int i=0; i<postenZahl; i++)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    	{
    		cout<<"Zahl Nr. "<<i+1<<":" ;
    		cin>>zahlFeld[i];
    	}
    	
    int *max, *pos;
    

    max = zahlFeld;
    sum = 0.0;
    for (i=0;i<postenZahl;i++)
    {
    sum+= zahlFeld[i];
    if (zahlFeld[i]> *max) max = zahlFeld+i;
    }

    cout<<" Hoechste Zahl n:"<<*max<<endl;	
    cout<<" Position der Hoechsten Zahl :"<<
    
    
    
    
    
    
    
     cout<<"Nochmal==='j'/Abbruch==='n'"<<endl;	//schleife zum wiederholen
    

    cin>>c; //schleife zum wiederholen
    }

    while(c=='j'); //schleife zum wiederholen

    delete [] zahlFeld;
    }



  • Schreiben Sie ein C-Programm

    Du hast ein C++ Programm geschrieben.



  • max = zahlFeld+i;

    Wenn du zwei Werte hast sollte sich der dritte ermitteln lassen.



  • Ok ein C-Programm ist mit printf und scanf ?



  • @Schueller
    Ja und ohne new+delete.

    #include <iostream>
    #include <sstream>
    #include <stdio.h>
    using namespace std;
    
    int main ()
    {
    int *zahlFeld,i,sum;
    int postenZahl;
    char c;
    
    do{ //schleife zum wiederholen
    
    cout<<"Anzahl der Ganzen Zahlen eingeben:   ";
    cin>>postenZahl;
    
    zahlFeld= new int [postenZahl];
     
    for(int i=0; i<postenZahl; i++)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    	{
    		cout<<"Zahl Nr. "<<i+1<<":" ;
    		cin>>zahlFeld[i];
    	}
    	
    int *max, *pos;
    max = zahlFeld;
    sum = 0.0;
    for (i=0;i<postenZahl;i++)
    {
    sum+= zahlFeld[i];
    if (zahlFeld[i]> *max) max = zahlFeld+i;
    }
    
    cout<<" Hoechste Zahl n:"<<*max<<endl;	
    cout<<" Position der Hoechsten Zahl :"<<
    
    
    
    
    
    
    
     cout<<"Nochmal==='j'/Abbruch==='n'"<<endl;	//schleife zum wiederholen
    cin>>c; //schleife zum wiederholen
    }
    
    while(c=='j'); //schleife zum wiederholen
    
    delete [] zahlFeld;
    }
    


  • @Wutz
    ok dann nochmal ☹



  • #include <iostream>
    #include <sstream>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace std;

    int main ()
    {
    int *zahlFeld,i,sum;
    int postenZahl;

    printf ("\n Anzahl der Ganzen Zahlen eingeben:   ");
    scanf("%d",&postenZahl);
    
    zahlFeld= new int [postenZahl];
     
    for(int i=0; i<postenZahl; i++)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
    	{
    		printf("\ Zahl Nr.%d :",i+1);
    		scanf("%d",&zahlFeld[i]);
    	}
    	
    int *max, *pos;
    

    max = zahlFeld;
    sum = 0.0;
    for (i=0;i<postenZahl;i++)
    {
    sum+= zahlFeld[i];
    if (zahlFeld[i]> *max) max = zahlFeld+i;
    }

    printf("\ Hoechste Zahl n: %d \n",*max);	
    

    // cout<<" Position der Hoechsten Zahl :"<<

    }

    Hoffe so ist es erstmal richtig !



  • Dieser Beitrag wurde gelöscht!


  • Ein C-Programm sollte sich von einem (reinen) C-Compiler übersetzen lassen. Das ist bei deinem Programm mit Sicherheit nicht der Fall.
    Wenn du keinen C-Compiler hast, kannst du es auch einmal kurz online testen. Seiten dafür gibt es einige, z.B. ideone.com/.
    Fehler sind natürlich noch include iostream/sstream, using namepace std, new statt malloc und vielleicht noch ein paar mehr.



  • @Schueller

    Hoffe so ist es erstmal richtig !

    Nein, ein C Compiler wird das nicht übersetzen.



  • @Wutz sagte in C++ Programm zur eingabe einer Zahlenkette mit ausgabe vom max und der Position:

    Ja und ohne new+delete.

    C-Header haben ein .h. (C++-Header nicht mehr.)

    C kennt auch keinen Namespace.



  • ... und auch ohne den ganzen anderen C++ Quatsch (using,iostream,sstream)

    #include <stdio.h>
    #include <limits.h>
     
    int main()
    {
    	enum { n = 12 };
    	int A[n], max=INT_MIN, pos;
     
    	for(int i=0;i<n;++i)
    		scanf("%d",&A[i]);
    	for(int i=0;i<n;++i)
    		printf("%d\n",A[i]);	
    
     	... hier bist du dran
    	
    	return 0;
    }
    

Anmelden zum Antworten