ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
3058
3058
EMPFEHLEN
-
moinz,
Ich wollte mal wissen wie man einen Maximalwert in C ermitteln kann!
also ein Benutzer kann beliebig viele Zahlen eingeben und das programm soll aus diesen zahlen dann den maximalwert auslesen!
kann mir da jemand weiter helfen
mfg
Latsch
-
16.10.03 09:09 #2
- Registriert seit
- Aug 2001
- Beiträge
- 1.411
einfachster Weg:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#define ANZAHL 30 int i=0; int zahlen[ANZAHL]; int max,max_stelle; //... //zahlen[] wurde mit werten gefüllt max=zahlen[0]; max_stelle=i; for(i=0;i<ANZAHL;i++){ if(zahlen[i]>max){ max=zahlen[i]; max_stelle=i; } } printf("Maximalwert %d an der Stelle %d",max,max_stelle);
in der Art und Weise kann man halt Maximal-Werte aus einem Array herausbekommen.
Eventuell gibt es aber in anderen Bibliotheken schon max() bzw min() Funktionen.
PS: BITTE NIEMALS EIN THEMA ZWEIMAL POSTENGeändert von Thomas Kuse (16.10.03 um 09:20 Uhr)
-
nur das kernstueck:
Code :1 2 3 4 5 6 7 8 9 10 11 12
bool bEnd=false; int iZahl; int iMax=INT_MIN; while(!bEnd) { // lese zahl in iZahl ein if(iZahl>iMax) { iMax=iZahl; }; }; // gebe iMax ausHave a nice day!
-
16.10.03 09:18 #4
- Registriert seit
- Aug 2001
- Beiträge
- 1.411
in C (ANSI) gibt es keinen bool und nach einem if- oder while Block bitte kein Semicolon setzen!
-
also ich hab es so gemacht..aber es kommen sehr utopische zahlen raus
-
@Thomas
Und wieso sollte man kein Semicolon nach den if und while bloecken setzen?
und das mit dem C (ANSI) habe ich wohl ueberlesen
sollte ja auch eher eine skizze seinHave a nice day!
-
16.10.03 09:50 #7
- Registriert seit
- Aug 2001
- Beiträge
- 1.411
Weil das kein pascal sondern C ist

Ein Semicolon nach einem {}-Block musst du nur nach einer Deklaration einer Struktur/Klasse machen, weil du dort auch gleich eine Definition daraus machen kannst, indem du eine Instanz anlegst.
Hier eine blosse Deklaration:
oder mit einer DefinitionCode :1 2 3 4
struct test{ int a; int b; };
Code :1 2 3 4
struct test{ int a; int b; }teststructure;
Ansonsten macht dein Compiler beim anfügen eines Semicolons noch einen Extra-Schritt weil er "denkt" dass vor dem Semicolon noch ein Extra-Befehl kommt.
Das würde auch funktionieren, aber in einem unsauberen Quellcode resultieren:
Code :1 2 3 4
;;;;; ; ;a=1; ; ; ; ;
-
Da der C und C++ Standard die Schreibweise nicht verbieten,ist es auch kein Fehler.
Ausserdem finde ich erhoeht so ein Semicolon die Lesbarkeit des Programms.
Und der Compiler ist nicht dumm, der filtert diese leere Anweisung raus und erzeugt kein Code dafuer. Und wenn man das von Compilezeitseite betrachtet, dann ist dies vernachlaessigbar.
Und das Beispiel ist redlich schlecht, denn wo bitte ist da wenigstens eine if oder while Anweisung zu finden?
Und solange wie hier auf dem Board keine Regeln ueber Stil- und Code-Formatierung aufgestellt sind werde ich meine Beispiele posten wie ich es fuer richtig halte.Have a nice day!
-
Hier hast du nochmal den kompletten Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#include <stdio.h> int main(void) { int iMax = 0; int i = 0; int arrZahlen[5]; int iStelle = 0; int anzZahlen = 5; /*Anzahl der Zahlen in dem Array*/ arrZahlen[0] = 10; arrZahlen[1] = 5; arrZahlen[2] = 17; arrZahlen[3] = 13; arrZahlen[4] = 2; arrZahlen[5] = 9; iMax = arrZahlen[0]; for (i = 0; i <= anzZahlen; i++) { if(arrZahlen[i] > iMax) { iMax = arrZahlen[i]; iStelle = i; } } printf("Die groesste Zahl ist %i und liegt an der %i Stelle", iMax, iStelle); return 0; }
-
16.10.03 17:54 #10
- Registriert seit
- Aug 2001
- Beiträge
- 1.411
Wer fühlt sich denn da angegriffen?Original geschrieben von Maximka
Und solange wie hier auf dem Board keine Regeln ueber Stil- und Code-Formatierung aufgestellt sind werde ich meine Beispiele posten wie ich es fuer richtig halte.
Schreib doch Deinen Code so wie du das willst.
Ich jedoch mache die User darauf aufmerksam was nach welchen Konventionen wie geschrieben wird.
Dass ein zusätzliches Semicolon die Lesbarkeit erhöht halte ich für totalen Unsinn, da für das Ende eines Blocks nun mal die geschweifte Klammer da ist. Nur weil das in Pascal so ist, ist das in C/C++ noch lange nicht so!
Wenn Du die Lesbarkeit deiner Quellcodes verbessern willst dann benutze die Ungarische Notation und/oder Kommentare.
Kannst mir ja mal per PM ein C-Projekt nennen, bei dem solch tolle Formatierung benutzt wird.
ENDE DER DISKUSSION (hier gehts um MAX-Berechnung)
-
Also ich habe gelernt, dass nach den geschweiften Klammern in Schleifen oder Bedinungen keine Simicolon angehängt werden.
Aber jeder hat eben sein eignen steal.
Wollte nur mal mein Meinung äußern.
Lukas
Ähnliche Themen
-
Maximalwert für Feld
Von klanawagna im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 13.03.10, 11:42 -
Maximalwert von 4 int Variablen
Von Biergamasda im Forum Java GrundlagenAntworten: 8Letzter Beitrag: 25.02.10, 09:24 -
Maximalwert Berechnung
Von pete_redman im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 06.03.07, 20:07 -
Maximalwert einer Spalte ermitteln
Von Hektik im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 09.06.06, 00:49 -
Maximalwert aus einer 1:n-Beziehung ermitteln
Von janw im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 05.08.05, 09:37





Zitieren
Login






