Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


swap funktion

Postades av 2008-01-30 15:32:20 - Robbin Westerlund, i forum c++, Tråden har 11 Kommentarer och lästs av 1381 personer

Hur ska jag lösa denna funktion? jag vill kunna ange 2 st tal och vända på dem, så a blir b, och b blir a... hur gör jag för att skriva ut båda? det funkar om jag vänder det som ni ser på de 2 swapsen längre ner, men måste gå att fina till det och förenkla det?

#include <iostream>
using namespace std;

	int swap(int a, int b)
	{
		int n = a;
		a = b;
		b = n;
		return a;
	}

int main()
{	
	int x,y;
	cin >> x; cin >> y;
	cout << swap(x,y) << swap(y,x);
	
	system("pause");
	
	return 0;
}


Svara

Sv: swap funktion

Postades av 2008-01-30 15:58:27 - Niklas Jansson

Du måste ha klart för dig vad du ska göra.

Du vill ta värdet i a och lägga i b, och samtidigt ta värdet i b och lägga i a.
Du inser då att du inte kan returnera _ett tal_, det kommer aldrig att funka.
Antingen måste du ändra variablerna a och b, eller så måste du returnera två tal.

Returnera två tal går enkelt i vissa språk; framför allt Matlab och funktionella språk. I C++ går det att returnera men är ganska fult vid första anblicken, och jävligt fult om du dessutom ska dela upp det direkt efter.

Så vad du vill göra är att byta plats på dem. Då måste du veta att
int swap(int a, int b)
innebär att a och b är privata inuti swap. Alla ändringar av variablerna är lokala.

Det enklaste sättet är att bara skriva så här:
void swap(int &a, int &b)
{
int n = a;
a = b;
b = n;
}

"&" betyder att a och b är samma variabel som skickades in.
Sen måste du ändra på utskriften, swap ska inte returnera något.


Svara

Sv:swap funktion

Postades av 2008-01-30 16:24:44 - Robbin Westerlund

satt precis och läste om & grejen, ska se om jag kan få någon lösning på det!

någonting sånt här kanske?

#include <iostream>
using namespace std;

	void swap(int& a, int& b)
	{
		int n = a;
		a = b;
		b = n;
	}

int main()
{    
    int a,b;
    cin >> a; cin >> b;
    swap(a,b);
	cout << a << b;    
    system("pause");
    
    return 0;
}


Svara

Sv: swap funktion

Postades av 2008-01-30 16:44:58 - Niklas Jansson

Yes.

Några detaljer nu bara.
För det första är swap ypperlig för att göra som en template, vilket innebär att den funkar för andra typer än int.

För det andra så finns den redan i standardbiblioteket, med template, och funkar utmärkt.


Svara

Sv:swap funktion

Postades av 2008-01-30 16:53:12 - Robbin Westerlund

Ja men jag ska juh inte använda färdiga saker, jag försöker juh lära mig ;)

om jag tex har en vector eller array? skulle jag kunna byta en hel sådan mot en annan nu då?


Svara

Sv: swap funktion

Postades av 2008-01-30 17:23:56 - Niklas Jansson

Inte om du inte har gjort det som en template. Du får prova dig fram, och försöka lista ut vad som funkar och inte.


Svara

Sv:swap funktion

Postades av 2008-01-30 19:59:14 - Robbin Westerlund

har aldrig hållt på med templates, vet inte riktigt hur dom funkar eller hur dem ser ut


Svara

Sv: swap funktion

Postades av 2008-01-30 20:38:32 - Per Persson

<b>vet inte riktigt hur dom funkar eller hur dem ser ut</b>

På ena stället skriver du "dom" och på det andra "dem"... Även om man får lära sig i skolan att inte skriva "dom", så är åtminstone "dom" mer korrekt än "dem" på båda platserna här. Mest korrekt hade varit att skriva "de" på båda ställena.


Svara

Sv: swap funktion

Postades av 2008-01-31 08:07:10 - Martin Adrian

något fel med std::swap ?


Svara

Sv:swap funktion

Postades av 2008-01-31 09:30:28 - Per Persson

Läs alla inlägg, Martin:
<b>Ja men jag ska juh inte använda färdiga saker, jag försöker juh lära mig ;) </b>

När man försöker lära sig grunderna kan det vara bra att själv implementera grundläggande funktioner såsom swap.


Svara

Sv:swap funktion

Postades av 2008-02-08 05:02:16 - Robbin Westerlund

visste inte att detta var ett forum för svenska språket, har hela tiden trott att det handlade om c++ ? :P


Svara

Sv: swap funktion

Postades av 2008-02-08 08:18:02 - Per Persson

Jag föredrar svenska++.


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 867
27 962
271 767
500
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies