Avatar
alena.s7
Člen
Avatar
alena.s7:

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 Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět  +2 10.12.2014 9:46
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
alena.s7
Člen
Avatar
Odpovídá na David Čápka
alena.s7:

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  -1 10.12.2014 9:49
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na alena.s7
David Čápka:

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

Nahoru Odpovědět 10.12.2014 9:54
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
tomisoka
Redaktor
Avatar
 
Nahoru Odpovědět  +2 10.12.2014 15:10
Avatar
alena.s7
Člen
Avatar
Odpovídá na tomisoka
alena.s7:

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
Redaktor
Avatar
Odpovídá na alena.s7
tomisoka:

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:

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
Redaktor
Avatar
Odpovídá na alena.s7
tomisoka:

Jakže jsi to napsal?

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

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
Redaktor
Avatar
Odpovídá na alena.s7
tomisoka:

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:

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:

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:

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
Redaktor
Avatar
Odpovídá na alena.s7
tomisoka:

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):
#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
Odpovídá na alena.s7
Ondřej Štorc:

Jestli děláš takovéhle chyby, tak by to chtělo se kouknout třeba na zdejší tutoriály

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:

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.