Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Příklad

Aktivity
Avatar
alena.s7
Člen
Avatar
alena.s7:10.12.2014 9:42

Ahoj, potřebuji pomoct vyřešit příklad. Zadání je jasné: Vytvořte v jazyce C program, který přehodí hodnoty dvou proměnných, aniž by k tomu použil proměnnou třetí.
Nevím, jak ty hodnoty prohodit.
Předem děkuji :)

 
Odpovědět
10.12.2014 9:42
Avatar
David Hartinger
Vlastník
Avatar
Nahoru Odpovědět
10.12.2014 9:46
New kid back on the block with a R.I.P
Avatar
alena.s7
Člen
Avatar
Odpovídá na David Hartinger
alena.s7:10.12.2014 9:49

přesně takto jsem to udělala. jenže když dám že a=b a poté že b=a tak u b=a to bere "b" už z a=b, takže a i b jsou potom stejná čísla.

 
Nahoru Odpovědět
10.12.2014 9:49
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na alena.s7
David Hartinger:10.12.2014 9:54

Na tom obrázku je neco uplne jiného...

Nahoru Odpovědět
10.12.2014 9:54
New kid back on the block with a R.I.P
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na alena.s7
tomisoka:10.12.2014 15:10
i^=j^=i^=j;
 
Nahoru Odpovědět
10.12.2014 15:10
Avatar
alena.s7
Člen
Avatar
Odpovídá na tomisoka
alena.s7:10.12.2014 16:46

mám tam:
#include <stdlib.h>
#include <stdio.h>
int main (){
int a, b;
printf ("Zadejte prvni cislo: \n");
scanf ("%d",&a);

printf ("Zadejte druhe cislo: \n");
scanf ("%d",&b);

printf ("Prvni cislo je: %d\n",a);
printf ("Druhe cislo je: %d\n",b);

a teď musím přehodit proměnné, např když si zvolím a=5, b=1 ..tak to musím přehodit, aby se a=1, b=5, aniž bych k tomu použila proměnnou třetí.

 
Nahoru Odpovědět
10.12.2014 16:46
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na alena.s7
tomisoka:10.12.2014 16:49

A co ti brání použít to co jsem ti napsal?

 
Nahoru Odpovědět
10.12.2014 16:49
Avatar
alena.s7
Člen
Avatar
alena.s7:10.12.2014 16:53

Nejde mi to, když program spustí, ukazuje to jen a^=b^=a^=b, místo konkrétních čísel..

 
Nahoru Odpovědět
10.12.2014 16:53
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na alena.s7
tomisoka:10.12.2014 16:56

Jakže jsi to napsal?

 
Nahoru Odpovědět
10.12.2014 16:56
Avatar
alena.s7
Člen
Avatar
alena.s7:10.12.2014 16:59

printf

i^=j^=i^=j;

ale místo i a je, jsem napsala a a b..

 
Nahoru Odpovědět
10.12.2014 16:59
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na alena.s7
tomisoka:10.12.2014 17:06

Tím ty čísla vyměníš, nevypíšeš je tím... je to prostě další řádek...

 
Nahoru Odpovědět
10.12.2014 17:06
Avatar
alena.s7
Člen
Avatar
alena.s7:10.12.2014 17:08

Anoo už to mám, mockrát díky :) ještě nikdy jsem neprogramovala a nemám žádné základy, takže i ty nejjedonušší příklady jsou pro mě nejtěžší, protože člověk logicky ví, jak to napsat, ale pomocí těch značek už je to těžší, takže děkuji :)

 
Nahoru Odpovědět
10.12.2014 17:08
Avatar
alena.s7
Člen
Avatar
Odpovídá na alena.s7
alena.s7:10.12.2014 17:10

Ne, furt to nejde, mam tam
#include <stdlib.h>
#include <stdio.h>
int main (){
int a, b;
printf ("Zadejte prvni cislo: \n");
scanf ("%d",&a);

printf ("Zadejte druhe cislo: \n");
scanf ("%d",&b);
printf ("

a^=b^=a^=b;
");
printf ("Prvni cislo je: %d\n",a);
printf ("Druhe cislo je: %d\n",b);

stale se to nevymeni
 
Nahoru Odpovědět
10.12.2014 17:10
Avatar
alena.s7
Člen
Avatar
Odpovídá na alena.s7
alena.s7:10.12.2014 17:12

už to mám, stačilo v posledních 2 řádcích vyměni a a b :)

 
Nahoru Odpovědět
10.12.2014 17:12
Avatar
tomisoka
Tvůrce
Avatar
Odpovídá na alena.s7
tomisoka:10.12.2014 17:19

Tím jenom vyměníš pořadí vypisování, printf složí k vypsání textu ne k vykonání kódu...

 
Nahoru Odpovědět
10.12.2014 17:19
Avatar
Odpovídá na alena.s7
Libor Šimo (libcosenior):10.12.2014 18:18
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int b = 10, a = 5;
    printf("a = %d, b = %d\n", a, b);
    a ^= b ^= a ^= b;
    printf("a = %d, b = %d\n", a, b);

    return 0;
}
Nahoru Odpovědět
10.12.2014 18:18
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na alena.s7
Ondřej Štorc:10.12.2014 18:33

Jestli děláš takovéhle chyby, tak by to chtělo se kouknout třeba na zdejší <a href="http://­www.itnetwork­.cz/cplusplus/cec­ko-zaklady">tuto­riály</a>

Nahoru Odpovědět
10.12.2014 18:33
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
alena.s7
Člen
Avatar
alena.s7:10.12.2014 20:13

Děkuju

 
Nahoru Odpovědět
10.12.2014 20:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.