Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] [C++]Zadanie


Rekomendowane odpowiedzi

Opublikowano

Mam problem z programem,gdyż po wpisaniu liczb większej od 3 wyświetla się na ekranie "Program przestał działać". Gdzie popełniłem błąd?

#include <iostream>

using namespace std;

int main()
{

int x,y,a;
cout<<"Podaj x=";
cin>>x;
cout<<"Podaj y=";
cin>>y;
a = (x*(y+1))/(x^2+y^2);
cout<<"Wynik="<< a <<endl;


return 0;

Pumpernikiell.png


Weteran
Opublikowano

 

Mam problem z programem,gdyż po wpisaniu liczb większej od 3 wyświetla się na ekranie "Program przestał działać". Gdzie popełniłem błąd?

#include <iostream>

using namespace std;

int main()
{

int x,y,a;
cout<<"Podaj x=";
cin>>x;
cout<<"Podaj y=";
cin>>y;
a = (x*(y+1))/(x^2+y^2);
cout<<"Wynik="<< a <<endl;


return 0;

Jak ci się to w ogóle kompiluję? Przecież w c++ nie ma czegoś takiego jak ^. a jednak.

Opublikowano

Operator ^ to xor, a nie potęgowanie.

Prawdopodobnie następuje dzielnie przez zero. Podawaj kod błędu po crashu następnym razem.

 

@Xau

wut?

Opublikowano

Jak ci się to w ogóle kompiluję? Przecież w c++ nie ma czegoś takiego jak ^.

To jak napisać "do potęgi 2"

 

Operator ^ to xor, a nie potęgowanie.

Prawdopodobnie następuje dzielnie przez zero. Podawaj kod błędu po crashu następnym razem.

 

@Xau

wut?


 Nazwa zdarzenia problemu:	APPCRASH
  Nazwa aplikacji:	Praca Domowa.exe
  Wersja aplikacji:	0.0.0.0
  Sygnatura czasowa aplikacji:	5225db1b
  Nazwa modułu z błędem:	Praca Domowa.exe
  Wersja modułu z błędem:	0.0.0.0
  Sygnatura czasowa modułu z błędem:	5225db1b
  Kod wyjątku:	c0000094
  Przesunięcie wyjątku:	0000000000001612
  Wersja systemu operacyjnego:	6.1.7601.2.1.0.256.1
  Identyfikator ustawień regionalnych:	1045
  Dodatkowe informacje 1:	3c56
  Dodatkowe informacje 2:	3c566bda50795147e914b1effd8c94b0
  Dodatkowe informacje 3:	616f
  Dodatkowe informacje 4:	616f01f00e8184c0b15e1530c053c6d2

Przeczytaj w trybie online nasze zasady zachowania poufności informacji:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0415

Jeśli zasady zachowania poufności informacji w trybie online nie są dostępne, przeczytaj nasze zasady zachowania poufności informacji w trybie offline:
  C:\Windows\system32\pl-PL\erofflps.txt

Pumpernikiell.png


Opublikowano

c0000094 to dzielenie przez zero

Kod powinien wyglądać mniej więcej tak. Zależy też, czy chcesz go zabezpieczać przed takimi możliwościami.

#include <iostream>
 
using namespace std;
 
int main()
{
 
int x,y,a;
cout<<"Podaj x=";
cin>>x;
cout<<"Podaj y=";
cin>>y;
if(!x && !y)
{
cout << "Dzielenie przez zero";
}
else
{
a = (x*(y+1))/(x*x+y*y);
cout<<"Wynik="<< a <<endl;
 }
 
return 0;
Możesz też użyć mechanizmu wyjątków, ale to wystarcza w tym przypadku.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...