Gå til innhold

Drep whiletest viss "stop" er tasta inn.


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Mine incudes:

#include <iostream>
#include <iomanip>
#include <ios>
#include <string>
#include <vector>
#include <algorithm>

og feilen...

`compare' has not been declared 

Skrevet

hm, vel .. `compare' er definert i namespacet `std' .. er det mulig du har glømt prefixen `std::' .. eller glømt `using namespace std;' ..?

Skrevet

Her er koden:

#include <iomanip>
#include <ios>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
   vector<int> values;
   cout << "Hei! Skriv inn ei rekkje tal etter fylgd av \"break\" og enter!";
   int x;
   int value;
   
   while (cin >> x){
         if (strcmp(x.c_str(), "stop") = 0)
         break;
         int value = atoi(value.c_str());
         if(!x < 100 || !x > 0){
         cout << "Inputtet er ikkje gyldig";
         return 1;
         }
         else {
              values.push_back(value);
              }}
         sort(values.begin(), values.end());
         cout << values[0] << endl << values[1] << endl << values[2] << endl;
         }

Feileldinger:

c_str has not been declared

request for member of non-aggregate type before '(' token (linje 17 og 19)

Skrevet

Ja, sortere dei i stigande rekkjefølgje, og skrive dei ut.

Hm... Eg blir litt forvirra no, kva er det som er feil?

Eg brukte koden du gav meg i post #26.

Skrevet (endret)

Her gjør vi det da veldig vanskelig :p

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() 
{
       cout << "Skriv inn tall: ";
       
       int tall;
       vector<int> verdier;

       while(cin >> tall)
               verdier.push_back(tall);

       sort(verdier.begin(), verdier.end());

       vector<int>::iterator iter;
       for(iter = verdier.begin(); iter != verdier.end(); ++iter)
               cout << *iter;

       cout << endl;

       return 0;
}

Vi leser inn verdier hva std::cin i en while-loop, og legger til verdien i en std::vector. Hvis innlesingen av verdien mislyktes (hvis vi skrev inn en bokstav, e.l.), bruter vi ut av while loopen, og sorterer på samme måte som du brukte, Fjott. Deretter itererer vi gjennom konteineren og printer ut verdiene til standard output. :)

Endret av zirener
Skrevet (endret)

Hm... Ok.

Bryt automatisk whilen når eg tastar inn ein datatype som ikkje = int?

Eg har lært veldig mykje av denne tråden, takk til alle.

 

DET VIRKAR!!

Endret av Fjott

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...