Masta5433 [ Konsul ]
Program w C++
Witam
Mój problem polega na tym, że program napisany przeze mnie nie chce działać po wpisaniu liczb 0 i 3 (w takiej kolejności). Wszystko ładnie pięknie się kompiluje, pozostałe liczby działają, a akurat te dwie nie chcą działać. I tutaj mam do Was prośbę, czy moglibyście mi wskazać, gdzie jest błąd, lub ewentualnie, czy u was ten program działa?
Zamieszczam kod źródłowy:
#include <iostream>
using namespace std;
int main()
int a,b;
cin>>a>>b;
if (a==0&&b==0)
cout<<"NIESKONCZONOSC"<<endl;
else
if (b%a==0)
cout<<"1"<<endl;
else
cout<<"0"<<endl;
system("Pause");
return 0;
Z góry dziękuję za pomoc
Chudy The Barbarian [ Senator ]
Chyba dlatego, że nie można dzielić przez 0. Nie pamiętam dokładnie jak działa ten operator %
thenaturat [ Konsul ]
dzielenie przez 0
b%a -> zwraca resztę z dzielenia b przez a
Masta5433 [ Konsul ]
No dobra, kapuję, w takim razie mógłby mi ktoś wskazać, jak mam zrobić to: zadanie?
Dodam jeszcze, że sprawdzane są właśnie liczby 0 i 3
tomazzi [ Young Destroyers ]
Dobrze zrobiłeś.
0*x=3 nie ma rozwiązań
Masta5433 [ Konsul ]
No to program powinien zwrócić wartość 0, ale tego nie robi, tylko "Wystąpił problem z aplikacją blablabla..."
EDIT: Regis----> chodzi mi o to, że program powinien pokazać, że to równanie ma zero rozwiązań
Loczek [ El Loco Boracho ]
Zrób dodatkowy warunek:
jesli a=0 i b>0 - równanie sprzeczne
EDIT: program zwraca błąd bo dzielisz przez 0.
Regis [ ]
Na matematyce nie uczyli, ze nie mozna dzielic przez zero? Nie ma mozliwosci wykonania takiego dzialania, wiec nie moze nic ono zwrocic. Takie dzialanie jest bledne i nie zwraca ono zera, jak sugerujesz. Po prostu jest niewykonalne.
tomazzi [ Young Destroyers ]
Nie. Wyrzuca wyjątek.
Możesz tak zrobić jeszcze:
if (a==0&&b==0)
cout<<"NIESKONCZONOSC"<<endl;
else
if (a==0&&b!=0)
cout<<"0"<<endl;
else
if (b%a==0)
cout<<"1"<<endl;
else
cout<<"0"<<endl;
Masta5433 [ Konsul ]
Dobra, wielkie dzięki, problem rozwiązany.
Golem6 [ Gorilla The Sixth ]
Mam problem. W DevCPP v. 4.9.9.2 pisząc w C nie mogę skompilować żadnego programu. Nawet najprostszego. Zawsze wyrzuca ten sam błąd...
C:\Users\Golem\Desktop\programy\Makefile.win [Build Error] [main2.o] Error 1
Nie umiem tego w żaden sposób przeskoczyć. Reinstalacje nie pomagają.
Natomiast C++ działa ok.
kamyk_samuraj [ Senator ]
Podaj jakis kod programu, w ktorym dev sie wysypuje
kamyk_samuraj [ Senator ]
#include <stdio.h>
#include <conio.h>
int main()
printf("Hello, world");
getch();
return 0;
sprobuj z diabelnie skomplikowanym programem
Golem6 [ Gorilla The Sixth ]
To samo.
C:\Users\Golem\Desktop\Makefile.win [Build Error] [main.o] Error 1
Już próbowałem z tego typu kodami więc wiem, że to problem samego kompilatora, nie programów przezemnie napisanych.
QrKo_ [ ]
Windows Console Application oczywiscie wybierasz jako projekt?
kamyk_samuraj [ Senator ]
A probowales kompilowac na czyms innym?
Qrko -> co to za roznica? Ja pisze to w czystym pliku (Nowy plik zrodlowy) i dziala. Przy takich programikach nie ma co bawic sie w projekty
Golem6 [ Gorilla The Sixth ]
Dalej nic nie pomaga. Ciągle to samo. Nawet jak skompiluje, to potem przy odpalaniu programu wyrzuca: "Plik źródłowy nie został skompiowany."
Spróbuje znaleść wersję 4, może to coś pomoże.
Golem6 [ Gorilla The Sixth ]
Prezentuje jak zachowuje mi sie kompilator. Już powoli mi się odechciewa walki...
...NathaN... [ The Godfather ]
spróbuj dopisać w ostatniej linii system("pause");
koledze bez tego nie kompliluje w devc++.
Golem6 [ Gorilla The Sixth ]
To nie kwestia tego. Już znalazłem pośrednie rozwiązanie i wytłumaczenie tego problemu.
Raz, Vista nie lubi tego kompilatora.
Dwa. Kiedy kompiluje program jako Cpp, mimo że napisany w C wszystko działa.
Więc już odpuszczam. Dzięki za wszystkie porady.