skapa en int-vektor med fem element.

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

skapa en int-vektor med fem element.

Hej,

Uppgift!
Jag skall skapa en int-vektor med fem element. Användaren får mata in fem värden via en for loop.
Programmet skriver sedan ut dessa namn via en annan for loop.

För det första, är uppgiften lite konstigt formulerad? Först skall man mata in värden och sedan skriver den ut namn? En int kan väl inte skriva ut namn eller?

Sedan har jag koll på hur man skapar en vektor fast ger dem värden direkt. Hur skulle jag kunna ge dem värden i loopen?

exemplet nedan har jag gjort tidigare. det är två olika varianter, bara ett jag kommenterat ut det ena för att testa det andra.

int temperatur[5]; //= {17, -65, -20, 9, 42};

//tilldela vektorns element olika värden
temperatur[0] = 17;
temperatur[1] = -65;
temperatur[2] = -20;
temperatur[3] = 9;
temperatur[4] = 42;

Någon som känner sig manad att förklara för en förvirrad?

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

Är uppgiften formulerad exakt så som du skrev? Koden du har lagt upp är en array och inte en vector förresten.
Vill du mata in data i en array från en for-loop kan du deklarera den i förväg och sedan i for-loopen läsa in data och lägga in i rätt plats på arrayen.

int arr[5]; for(int i = 0; i < 5; i++) { int input = läs in användardata; arr[i] = input; }

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

@eggplant: Hej,

uppgiften är formulerad så och det är det jag tycker är konstigt.
Sedan är exemplet taget från boken med och dem skriver att det är en vektor så jag vet inte?

Jag har upptäckt att det är en hel del stavfel och fel över huvudtaget i boken så om vi antar att dem menar att programmet skriver ut dessa värden istället för namn så kanske det blir enklare?

Här kommer resten. allt funkar som det skall men nu skall jag ge värdena i loopen

int sum = 0;
for (int i = 0; i < 5; i++)
{
sum = sum + temperatur[i];
}

cout << "medeltemperaturen är " << sum / 5 << endl;

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

@apan82ful: Det verkar som om att det ska stå värden istället för namn i boken. Är detta en skoluppgift du har eller något du gör på egen hand?

Inne i for-loopen skulle du kunna använda t.ex "cin" för att läsa in data från användaren genom konsollen.

int nummer; cout << "Skriv ett nummer: "; cin >> nummer; cout << endl << "Du skrev: " << nummer;

Trädvy Permalänk
Medlem
Plats
Lund
Registrerad
Maj 2013
Skrivet av eggplant:

Är uppgiften formulerad exakt så som du skrev? Koden du har lagt upp är en array och inte en vector förresten.
Vill du mata in data i en array från en for-loop kan du deklarera den i förväg och sedan i for-loopen läsa in data och lägga in i rätt plats på arrayen.

int arr[5]; for(int i = 0; i < 5; i++) { int input = läs in användardata; arr[i] = input; }

Han skrev dock vektor vilket svenska för array. Sen att C++ skiljer på vector/array är en annan sak

CPU: i5 4670k @4.5Ghz GPU: 1080 TI ROG Strix RAM: 4x4GB 1666Mhz MoBo: MSI Z87-g45 GAMING PSU: Corsair CX 750M

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

@eggplant: Hej,

Det är en skoluppgift. Det är ju upp till mig at klara av det men man kan ju undra över valet av kurslitteratur. Boken verkar inte vara helt tillförlitlig och så kör jag distans med så det är ganska rörigt utan lärare, men man får kötta sig igenom 10-12 timmar om dagen!

Tack för tipsen, nu har lite att gå på!

Trädvy Permalänk
Medlem
Registrerad
Mar 2017

@Pelegrino: Nja, vektor är väl mer inom matematik. I programmering på svenska brukar de kallas för fält eller helt enkelt array.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2007
Skrivet av eggplant:

@Pelegrino: Nja, vektor är väl mer inom matematik. I programmering på svenska brukar de kallas för fält eller helt enkelt array.

En vektor är en 1-dimensionell array, på samma sätt som en matris är 2-dimensionell. Den terminologin kommer som du säger från matematiken, men används mycket inom programmering också. Så det är inte fel att säga vektor i detta fall, även om det lätt kan bli lite förvirrat eftersom C++ har std::vector (fast nu finns ju även std::array för att göra förvirringen total).

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Okt 2006

http://stackoverflow.com/questions/6632971/what-is-the-differ...

Där finns en rätt utförlig förklaring. Nu bör ämnet kunna gå vidare om TS behöver mer hjälp.

Trädvy Permalänk
Medlem
Registrerad
Nov 2015

Lite off topic men när jag pluggade C++ lärde jag mig mycket från http://www.learncpp.com/

Betydligt tydligare och mer pedagogisk än någon kurslitteratur jag har sett