Zadanie 11 - wielokrotne przypisanie
Ostatnio zmodyfikowano 2012-05-29 19:15
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:
#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? |
|
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. |
|
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 :/ |
|
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. |
|
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. |
|
« 1 » |