Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie 11 - wielokrotne przypisanie

Ostatnio zmodyfikowano 2012-05-29 19:15
Autor Wiadomość
Zorpak
Temat założony przez niniejszego użytkownika
Zadanie 11 - wielokrotne przypisanie
» 2012-05-29 17:53:15
Witam,
w ramach tego zadania napisałem program, który oblicza pole kwadratu po podaniu jednej z jego krawędzi. Kod:

C/C++
#include <iostream>

int main()
{
    int x, y;
    x = y;
    std::cout << "Podaj krawedz ";
    std::cin >> x;
    std::cout << "Pole kwadratu = " << x * y << std::endl;
   
    return 0;
}

Po skompilowaniu i uruchomieniu program wykonuje obliczenia ale są one błędne. Gdzie jest błąd?
P-57453
m4tx
» 2012-05-29 17:56:33
1. Nie wykorzystujesz tu wielokrotnego przypisania.
2. Błąd jest w tym, że najpierw przypisujesz wartość jednej zmiennej do drugiej zmiennej, a potem dopiero pobierasz wartość zmiennej.
P-57454
Zorpak
Temat założony przez niniejszego użytkownika
» 2012-05-29 18:23:12
Przypisuję wartość zmiennej y do x. To nie jest wielokrotne przypisanie?
cytat:
"Wielokrotne przypisanie służy do przypisywania kilku zmiennym tej samej wartości."

W tym przypadku nie przypisuję zmiennej konkretnej wartości - to jest wymagane aby polecenie działało?

Już się w tym gubię powoli :/
P-57460
m4tx
» 2012-05-29 18:31:53
to jest wymagane aby polecenie działało?
Wyobraź sobie 2 kartki papieru. Na pierwszej piszesz dowolne zdanie. Potem chcesz na drugiej napisać to, co napisałeś na pierwszej. W efekcie tego masz 2 kartki z taką samą zawartością.

Teraz wyobraź sobie inną sytuację. Również masz 2 kartki. Obie puste. Na początku chcesz na drugiej kartce napisać to, co jest na pierwszej, czyli nic. Potem na pierwszej kartce piszesz dowolne zdanie. Co otrzymujesz? 2 kartki, na jednej masz napisane zdanie, na drugiej nie masz nic. I właśnie ta sytuacja pasuje do twojego kodu.

I nie, to nie jest wielokrotne przypisanie. Bo w tym przypadku ty przypisujesz wartość do jednej zmiennej, a powinieneś przypisać wartość jednocześnie do kilku zmiennych.
P-57461
Zorpak
Temat założony przez niniejszego użytkownika
» 2012-05-29 19:15:54
Ok chyba po części zrozumiałem o co chodzi, zamieniłem niektóre wersy kodu i teraz liczy poprawnie, ale ciągle bez wykorzystania wielokrotnego przypisania.

#include <iostream>

int main()
{
        int x, y;

    std::cout << "Podaj krawedz ";
    std::cin >> y;
    x = y;
    std::cout << "Pole kwadratu = " << x * y << std::endl;

    return 0;
}

Pytanie: Jak zapisać ten kod w taki sposób aby je wykorzystywał i czy jest to możliwe przy takiej koncepcji programu? Mimo że program liczy to co chcę, chciałbym zobaczyć jak działa wielokrotne przypisanie.

Mój tok rozumowania, zapewne błędny, jest taki:
Program wykorzystuje dwie zmienne: x i y, które przemnożone przez siebie dadzą wynik. Obie zmienne będą miały taką samą wartość, więc chce im tą wartość przypisać, ale "wartość którą chcę im przypisać nie jest wartością" tylko jest wyjściową zmienną, której wartość nadam w chwili użycia programu.
P-57462
« 1 »
  Strona 1 z 1