Równanie liniowe – pomoc w zrozumieniu sensu zadania

Odpowiedz Nowy wątek
2019-10-28 17:35
0

Witam, już trochę siedzę nad tym i już sam nie wiem co jest nie tak, potrzebuje porady może ktoś pomoże,
zadanie pochodzi ze strony https://szkopul.edu.pl/proble[...]1qA-_QBhQ/site/?key=statement
według testera mam 60%

błędy pokazane na testerze

1 wiersz 1: wczytano '1', a oczekiwano '0'
2 wiersz 1: wczytano '1', a oczekiwano '0'
6 wiersz 1: wczytano '1', a oczekiwano '0'
8 wiersz 1: wczytano '1', a oczekiwano '0'

oto mój kod:

var a, b : real;
begin
read (a,b);
if (a <> 0) then
begin
writeln ('1');
end
else if (b = 0) then
begin
writeln ('NIESKONCZONOSC');
end
else writeln ('0');
readln;
 readln;
end.
edytowany 3x, ostatnio: furious programming, 2019-10-28 20:43
2019-10-28 18:31
0

Twoim zadaniem będzie obliczenie liczby liczb całkowitych spełniających to równanie


Pozostało 580 znaków

2019-10-28 21:14
0

patryk27 nie wiem co masz na myśli, zmianę typu danych?

Pozostało 580 znaków

2019-10-28 21:38
1

Użyj liczb całowitych, bo w nich Szukasz ilości rozwiązań, (nie znam za bardzo Pascala) tak by to wyglądało w pseudokodzie: (mogłem coś pominąć):

def solution_int(a, b):
    if b % a == 0:
        return 1
    else:
        return 0

def num_solutions(a, b):
    if b == 0:
        if a == 0: 
            return "inf"
        else:
            return 1
    else:
        if a == 0:
            return 0
        else:
            return solution_int(a, b) 

nie słyszałeś o lub/oraz? - _13th_Dragon 2019-10-28 22:22
Dwa główne przypadki: b = 0 i przeciwnie; każdy z nich ma dwie możliwości, tak jest, imo, przejrzyście. - lion137 2019-10-28 22:40

Pozostało 580 znaków

2019-10-28 22:08
0

patryk27 nie wiem co masz na myśli, zmianę typu danych?

Ile rozwiązań poda Twój algorytm np. dla równania 3x=5?
Ile z nich jest całkowitych?
W jaki sposób to wyliczyć?


edytowany 2x, ostatnio: Patryk27, 2019-10-28 22:09

Pozostało 580 znaków

2019-10-29 01:53
0
#include <iostream>
using namespace std;

int main()
{
    static const char *tb[2][2]={{"1","1"},{"0","inf"}};
    static const char *bt[]={"1","0","inf"};
    double a,b;
    while(cin>>a>>b) cout<<tb[a==0][b==0]<<" "<<bt[((b==0)+1)*(a==0)]<<endl;
    return 0;
}

https://ideone.com/cyDjK9


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0