Gå til innhold

(løst) 2 programmer..


Anbefalte innlegg

Videoannonse
Annonse
#include <iostream>

using namespace std;

double fraFotTilMeter (double fot)
{	
const double meterIFot = 3.280840;
double svar = fot / meterIFot;
return svar;
}

bool gruntVakt (double fot, double grense)
{
if (fraFotTilMeter(fot) < grense)
	return true;
else
	return false;
}

int main()
{
double dybde;
double grense;

cout << "Hvor dypt er det i fot? ";
cin >> dybde;
cout << dybde << " meter = " << fraFotTilMeter(dybde);
cout << endl << "Hva er grenseverdien i meter? ";
cin >> grense;

if (gruntVakt(dybde, grense))
	cout << "ALARM...ALARM...ALARM: Grunt vann!" << endl;
else
	cout << "Du er på dypere vann enn grenseverdien." << endl;

return 0;
}

Lenke til kommentar

#include <iostream>
#include <string>
using namespace std;

int main()
{
string mangeOrd = "eple appelsin drue yoghurt kiwi";
string etOrd = "";
int count = 0;

// Gå igjennom alle bokstavene i mangeOrd
for each(char c in mangeOrd)
{
	// Dersom c er et mellomrom
	if(c == ' ')
	{
		// Hvis det er lagt til ord tidligere, skriv ", " i consolen
		if(count++)
			cout << ", ";
		// Skriv ordet til consolen
		cout << etOrd;
		// Sett etOrd tomt
		etOrd = "";
	}
	else
		// Legg til bokstav i bufferet
		etOrd += c;
}

// Dersom det er lagt inn tidligere ord, legg til komma
if(count && etOrd != "")
	cout << ", ";
// Dersom det ligger noe i bufferet, skirv det ut
if(etOrd != "")
	cout << etOrd;

// Vent til brukeren trykker på noe
cin.get();

// Alt gikk bra, ikke returner noen feilmelding.
return 0;
}

 

Hvis dere ikke har lært om for each enda, så kna det kanskje være en fordel å skrive det om til en vanlig for eller while løkke.

Lenke til kommentar
  • 2 uker senere...
Hvis dere ikke har lært om for each enda, så kna det kanskje være en fordel å skrive det om til en vanlig for eller while løkke.

 

For each er ikke standard C++. Du har en template funksjon kalt for_each som er definert i algorithm.

Lenke til kommentar

Bare for å vise frem STL litt... :p En kan selvfølgelig droppe å lagre resultatene i en vector og bare skrive de rett ut i whileløkka.

 

#include <vector>
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>


void func(std::string& s) {
std::cout << s << ", ";
}

int main() {
const std::string STR("eple appelsin drue yoghurt kiwi");
std::istringstream s(STR);
std::string str;
typedef std::vector<std::string> StringVector;
StringVector sVec;

while (s >> str) {
	sVec.push_back(str);
}

std::sort(sVec.begin(), sVec.end());
std::for_each(sVec.begin(), sVec.end()-1, func);
std::cout << *(sVec.end()-1) << std::endl;
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...