myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Zahlen zählen in c++

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 25.01.11, 15:30   #1
pokefreak
Süßstoffbehältnis
 
Benutzerbild von pokefreak
 
Registriert seit: Feb 2009
Beiträge: 9
Bedankt: 6
pokefreak ist noch neu hier! | 0 Respekt Punkte
Standard

Hier bitte so wie du es haben wolltest.
Code:
#include <iostream>
using namespace std;


int CountNumbers (int Number[], int lang) {

int kleinT=0;
for(int n=0;n<lang;n++)
{
    if (Number[n] >0  &&  Number[n]<1000)
    kleinT++;
}

return kleinT;
}

int main () {
int n=0;
int NumIn[20];
int laenge=0,kleinerT=0;

cout << "Geben Sie  Zahlen ein, abbruch mit -1: ";
while(true)
{
    cin >> NumIn[n];
    if(NumIn[n]==-1)
    break;
    n++;
}


laenge=n;
cout << "Anzahl Zahlen = "<< laenge<< endl;

kleinerT=CountNumbers (NumIn,laenge);
laenge=laenge-kleinerT;

cout << "Anzahl Zahlen Groesser 1000 = "<< laenge << endl;
cout << "Anzahl Zahlen Kleiner 1000 = "<< kleinerT << endl;
}
Dein Programm ist leider vom grundsatz her total Falsch.
Wenn du alles erklärt haben willst, auch warum deins nicht funktionieren können wir uns gerne mal per Skype oder TS unterhalten^^
Juhu, mein erstes c++ Programm

Edit: es gibt auch einen weg ohne Arrays, denke das wäre einfacher für dich, bei bedarf kann ich diesen auch noch benutzen
__________________
pokefreak ist offline   Mit Zitat antworten
Ungelesen 25.01.11, 15:39   #2
Zeodos
Mitglied
 
Registriert seit: May 2010
Beiträge: 423
Bedankt: 224
Zeodos ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von pokefreak Beitrag anzeigen
Hier bitte so wie du es haben wolltest.

Dein Programm ist leider vom grundsatz her total Falsch.
Wenn du alles erklärt haben willst, auch warum deins nicht funktionieren können wir uns gerne mal per Skype oder TS unterhalten^^
Juhu, mein erstes c++ Programm
das problem bei deinem code ist aber, dass du bereits vorher wissen musst, wie viele zahlen maximal eingegeben werden, weil du ja den array vorher eine länge zuweisen musst
Zeodos ist offline   Mit Zitat antworten
Ungelesen 25.01.11, 15:54   #3
pokefreak
Süßstoffbehältnis
 
Benutzerbild von pokefreak
 
Registriert seit: Feb 2009
Beiträge: 9
Bedankt: 6
pokefreak ist noch neu hier! | 0 Respekt Punkte
Standard

Ja, Stimmt aber da er die Zahlen per hand eingibt und nicht Speichert, nach beendigung des Programms,
dachte ich das 255 reichen^^
Auserdem is das nur eine Lösung, es geht auch ohne Arrays, wie gesagt.

MfG
Pokefreak
__________________
pokefreak ist offline   Mit Zitat antworten
Ungelesen 25.01.11, 17:05   #4
BastiR1991
Anfänger
 
Registriert seit: Mar 2010
Beiträge: 23
Bedankt: 1
BastiR1991 ist noch neu hier! | 0 Respekt Punkte
Standard

okay, danke, das reicht mir schon. Ich habe Felder bereits öfters verwendet.
BastiR1991 ist offline   Mit Zitat antworten
Ungelesen 25.01.11, 19:52   #5
wmosebach
Ist öfter hier
 
Registriert seit: Jan 2010
Beiträge: 189
Bedankt: 117
wmosebach ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von BastiR1991 Beitrag anzeigen
Code:
#include <iostream>

using namespace std;

//diese Funktion wird immer 1 zurückgeben (Ausnahme bei -1), AllNumbers muss global definiert sein, oder in die Funktion übergeben werden
int CountNumbers (int Number) {

	int AllNumbers=0;
	bool Break=false; 

	while (Break == false) {
		if (Number != -1)
			AllNumbers++;
		else 
			Break == true;
	}
	return AllNumbers;
}
//gleiches Problem wie bei der Funktion davor
int CountNumbersOver1000 (int Number) {
	int NumbersOver1000 = 0;
	bool Break = false;

	while (Break == false) {
		if (Number != -1) {
			if (Number > 1000) 
				NumbersOver1000++;
		}
		else
			Break == true;
	}
	return NumbersOver1000;
}


int main () {

	int NumIn=0;
	cout << "Geben Sie eine Zahl ein: ";
	cin >> NumIn;
		
	cout << "Anzahl Zahlen = "<< CountNumbers (NumIn) << endl;
	cout << "Anzahl Zahlen Größer 1000 = "<< CountNumbersOver1000 (NumIn) << endl;

}
Kommentare im Code.

Wieso nutzt du eigentlich While-Schleifen, wenn du sowieso nur eine Zahl kontrolierst?
-Counter in der main definieren und an die Funktionen übergeben.
-whileschleien löschen

Spaß haben



Zitat:
Zitat von pokefreak Beitrag anzeigen
Dein Programm ist leider vom grundsatz her total Falsch.
Wenn du alles erklärt haben willst, auch warum deins nicht funktionieren können wir uns gerne mal per Skype oder TS unterhalten^^
Juhu, mein erstes c++ Programm

Edit: es gibt auch einen weg ohne Arrays, denke das wäre einfacher für dich, bei bedarf kann ich diesen auch noch benutzen
Das Programm ist nicht grundsätzlich falsch, nur ein paar Fehler sind halt drin...
Problem bei deinem Ansatz:
Fehlermeldung wegen Bad memory access. (Feld wird auf 20 Stellen begrenzt, werden 21 eingegeben --> buff)
Lösung:
Dynamisches anpassen des Arrays wenn es droht "überzulaufen"
__________________
Make the world a prettier place - get a bikini wax!
wmosebach ist offline   Mit Zitat antworten
Ungelesen 26.01.11, 20:23   #6
rinnocka
Anfänger
 
Registriert seit: Nov 2010
Beiträge: 1
Bedankt: 0
rinnocka ist noch neu hier! | 0 Respekt Punkte
Standard

#include <iostream>

using namespace std;
int AllNumbers=0;
int NumbersOver1000 = 0;

void CountNumbers (int Number) {

if (Number != -1)
AllNumbers++;


}
void CountNumbersOver1000 (int Number) {
if (Number != -1) {
if (Number > 1000)
NumbersOver1000++;
}

}


int main () {


int NumIn=0;
while(NumIn!=-1){
cout << "Geben Sie eine Zahl ein: (-1 bricht das Programm ab)";
cin >> NumIn;
CountNumbers (NumIn);
CountNumbersOver1000 (NumIn);
}
cout << "Anzahl Zahlen = "<< AllNumbers << endl;
cout << "Anzahl Zahlen Größer 1000 = "<< NumbersOver1000<< endl;

}

Das ist eine Lösung, ohne Array zu verwenden
rinnocka ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr.


Sitemap

().