Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 22:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Int Größenordung

Discussion on Int Größenordung within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
Question Int Größenordung

Hallo, ich habe ein Problem.
Ich habe, um mir 100 int vars zu sparen das ganze so deklariert:
PHP Code:
int FirstInt[100]; 
Jetzt wird mit einer for schleife ein bestimmter Wert in diese int Variable(n) so rein geschrieben:
PHP Code:
FirstInt[1] = ...;
FirstInt[2] = ...;
FirstInt[3] = ...;
FirstInt[4] = ...;
FirstInt[5] = ...; 
Das ganze klappt ja auch alles wunderschön aber jetzt will ich checken welche variable den erst-kleinsten Wert, zweit-kleinsten ... Wert hat.
Ich denke wenn ich wüsste wie ich checke welche Variable den erst-kleinsten Wert hat, könnte ich das ganze auch für das auslesen der zweit-kleinsten Var ... umsetzen.
bank0123 is offline  
Old 07/27/2014, 22:06   #2
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Du könntest das Array mit std::sort sortieren und hättest dein gewünschtes Ergebnis sofort. Btw sind alte C-Style Arrays böse, benutze std::array bzw std::vector.

Beispiel:
Code:
#include <algorithm>
#include <array>
#include <functional>
#include <iostream>
#include <random>

const int SIZE = 100;

int main()
{
	std::random_device rd;
	std::default_random_engine re(rd());
	std::uniform_int_distribution<int> dist(1, 1000);

	std::array<int, SIZE> arr;

	auto gen = std::bind(dist, re);
	std::generate(std::begin(arr), std::end(arr), gen);

	// Aufruf der dich interessieren sollte
	std::sort(std::begin(arr), std::end(arr));
	
	for(auto n : arr)
	{
		std::cout << n << std::endl;
	}
}
Schlüsselbein is offline  
Thanks
1 User
Old 07/27/2014, 22:19   #3
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
Ok sieht interessant aus, aber was ist denn das Array da?
Weil ich will ja den ersten Wert ... ausgelesen haben und dann kann ich z.B. ArrayVar[5], wenn das den kleinsten Wert enthält ausgeben lassen.
bank0123 is offline  
Old 07/27/2014, 22:22   #4
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Array ist die Datenstruktur, welche die Elemente hält. Durch das Sortieren hast du den kleinsten Wert an erster Stelle und so weiter.
Zugreifen kannst du ganz klassisch wie gewohnt mit den eckigen Klammer.
Code:
std::cout << "kleinstes Element: " << arr[0] << std::endl;
Schlüsselbein is offline  
Old 07/27/2014, 22:33   #5
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
Jo sieht aus als dürfte es gehen, aber ich bekomme das ganze nicht compiled.
Das Problem liegt irgendwo hier:
PHP Code:
for(auto n arr
Habe es mit 3 Compilern und 4 IDE's probiert.

BTW: Ein ";" fehlt anscheinend auch. xD
bank0123 is offline  
Old 07/27/2014, 22:38   #6
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Kompiliert bei mir problemlos.
Dass du 3 Compiler benutzt hat, bringt mir recht wenig. Welche du benutzt hast ist von Bedeutung.
Ist er aktuell, sprich C++11 konform?
Schlüsselbein is offline  
Old 07/27/2014, 22:44   #7
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
GNU GCC, Visual Studio 2010 und Borland(C++ Builder)
Welchen nimmst du denn?
bank0123 is offline  
Old 07/27/2014, 22:48   #8
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Den aktuellen msvc. Lösung des Problems wäre zum Beispiel dein Visual Studio auf eine aktuelle Version (2013) zu upgraden.
GNU GCC hat laut Tabelle auch ausreichenden Support für die C++11 Features.
Ob du den Support für C++11 beim GNU Compiler erst via Switch aktivieren muss, kann ich dir nicht sagen. Dafür einfach mal eine Suchmaschine verwenden.
Schlüsselbein is offline  
Old 07/27/2014, 22:52   #9
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
hm okay werde das mal probieren, aber es muss leider unter borland laufen ^

EDIT: Es geht unter 2013, aber halt nicht borland.
bank0123 is offline  
Old 07/27/2014, 22:59   #10

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
Normalerweise sollten problematische Codezeilen von den meisten IDEs markiert werden.
Ansonsten einfach mal in den Compileroutput schauen, ob dort Fehler sind.
Im Normalfall helfen diese Informationen weiter (dort stehen meist auch recht genaue Zeilenangaben, wo der Fehler zu finden ist).

Falls nicht, einfach mal bitte den Fehler posten, dann kann man evtl weiterhelfen.
Terreox is offline  
Old 07/27/2014, 23:05   #11
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
Ja borland. Da fängt es beim include <array> an und macht auch fast das ganze std zeug net mit. #BorlandHalt
bank0123 is offline  
Old 07/27/2014, 23:31   #12
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Warm möchtest du Borland benutzen? Wenn Borland so hinterherhängt, was den Standard angeht, würde ich es auch nicht freiwillig benutzen wollen.
Schlüsselbein is offline  
Old 07/27/2014, 23:34   #13
 
elite*gold: 0
Join Date: Jul 2014
Posts: 8
Received Thanks: 0
Jo das ist so eher ein Muss, außerdem mag ich es sonst sehr.
Man kann ansonsten sehr gut damit arbeiten(Ich rede es mir schön )
xD
bank0123 is offline  
Old 07/28/2014, 07:32   #14


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by bank0123 View Post
Jo das ist so eher ein Muss, außerdem mag ich es sonst sehr.
Man kann ansonsten sehr gut damit arbeiten(Ich rede es mir schön )
xD
Solltest du aber nicht, Borland C++ 5.5 (also die neuste Version) scheint im Jahr 2000 veröffentlicht worden zu sein.

Ist klar das dir hier die neuen C++ Features fehlen und das Standardbibliotheken teilweise fehlen, kann auch gut sein. Also mindestens VS 2012 oder einen aktuellen GCC. (Da muss man definitiv ein Flag für C++ 11 setzen)
Mostey is offline  
Thanks
1 User
Old 07/28/2014, 12:38   #15
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
In wie fern gut? Wo ist sie besser als Visual Studio? Auch wenn ich nicht immer der MS Fanatiker bin, muss einfach mal festgehalten werden, dass Visual Studio unter Windows einfach ungeschlagen ist.
Schlüsselbein is offline  
Reply

Tags
größensotierung, int, variablen




All times are GMT +2. The time now is 22:59.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.