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

Problem z rysownikiem funkcji liniowej

Ostatnio zmodyfikowano 2016-10-02 01:24
Autor Wiadomość
Szustarol
Temat założony przez niniejszego użytkownika
Problem z rysownikiem funkcji liniowej
» 2016-10-01 21:45:50
witam!
napisalem prosty program do rysowania funkcji liniowych, niestety program nie chce rysowac funkcji malejacych
C/C++
#include <iostream>
#define PUNKT_ZERO_Y 13

using namespace std;

int main() {
    int a, b;
    cout << "f(x) = ax + b" << endl;
    cout << "a: ";
    cin >> a;
    cout << "b: ";
    cin >> b;
    bool ifdraw[ 79 ][ 25 ];
    for( int i = 0; i < 80; i++ )
    for( int j = 0; j < 25; j++ )
         ifdraw[ i ][ j ] = false;
   
    int c;
    int yres[ 79 ];
    for( int i = - 39; i < 40; i++ ) {
        yres[ i + 39 ] = a * i + b;
        yres[ i + 39 ] /= 2;
        cout << yres[ i + 39 ] << endl;
    }
    int ctr = 0;
    while( true ) {
        if( yres[ ctr ] < - 11 ) {
            ctr++;
            continue;
        }
        else if( yres[ ctr ] >= 13 )
             break;
       
        if( ctr > 79 )
             break;
       
        if( yres[ ctr ] >= 0 ) {
            ifdraw[ ctr ][ 12 - yres[ ctr ] ] = true;
            cout << "Setting true for position X:" << ctr << ", value: " << 12 - yres[ ctr ] << endl;
        }
        else {
            ifdraw[ ctr ][ 12 +- 1 * yres[ ctr ] ] = true;
            cout << "Setting true for position X:" << ctr << ", value: " << 12 +- 1 * yres[ ctr ] << endl;
        }
        ctr++;
    }
    for( int i = 0; i < 25; i++ ) {
        for( int j = 0; j < 80; j++ ) {
            if( ifdraw[ j ][ i ] )
                 cout << 'X';
            else
                 cout << ' ';
           
        }
        cout << endl;
    }
    return 0;
}
w przypadku funkcji malejacej po prostu nic nie wypisuje chociaz wspolzedne sa dobre
prosze o mozliwa pomoc
P-152171
kmlkamilek
» 2016-10-02 01:24:03
Nie pasuje mi tu jedna rzecz:
C/C++
bool ifdraw[ 79 ][ 25 ];
for( int i = 0; i < 80; i++ )
for( int j = 0; j < 25; j++ )
     ifdraw[ i ][ j ] = false;


Tutaj program się sypie. Tablica 79 na 25, w pętli z w ostatnim obiegu pętli z licznikiem i, odwołasz się do nieistniejącego indeksu tablicy.
P-152173
« 1 »
  Strona 1 z 1