1. Ispitati da li su tačke T1(x1,y1), i T2(x2,y2) nalaze sa iste strane prave y=ax+b.
Udaljenost tacke od prave data je formula na strani:
http://mathworld.wolfram.com/Point-LineDistance2-Dimensional.html. Dovoljno je ispitati da li je znak izraza f(x,y,a,b) = y - ax - b isti za obe tacke:
Code:
float sign = (y1 - a*x1 - b)*(y2 - a*x2 - b);
if ( sign > 0.0f )
{
printf( "Sa iste strane" );
}
else if ( sign == 0.0f )
{
printf( "(Bar) jedna od tacaka lezi na pravoj" );
}
else
{
printf( "Tacke nisu sa iste strane prave" );
}
2.Printati sve trocifrene brojeve koji su djeljivi brojem koji se dobije izbacivanjem srednje cifre.
Brutal force resenje
Code:
for ( int i = 100; i < 1000; ++i )
{
int br = 10*(i / 100) + i %10;
if ( i % br == 0 ) printf( "%d\n", i );
}
3.Odrediti koliko riječi u navedenoj rečenici počinje sa slovom "a".Da li je uneseni tekst polindrom.
Code:
const char text[] = "anavolimilovana";
int len = strlen( text );
bool palindrom = TRUE;
for ( int i = 0; i < len / 2; ++i )
{
if ( text[i] != text[len - i - 1] )
{
palindrom = FALSE;
break;
}
}
prvi deo problema se svodi na brojanje koliko su puta u tekstu pojavljuje sekvenca " a" (recimo da nema interpunkcijskih znakova)
Code:
int count = 0;
for ( int i = 0; i < len - 1; ++i )
{
if ( text[i] == ' ' && text[i+1] == 'a' ) ++count;
}
if ( text[0] == 'a' ) ++count;
printf( "%d", count );