Hetman matura 2007 ver. 2
Kod był wyświetlany 1805 razy.
    /*
  Name: Hetman
  Copyright: GPL GNU
  Author: Mateusz Nowicki
  Date: 15-06-10 19:14
  Description: Matura 2007 zad.2
  Podaj specyfikacj. i zapisz algorytm (w postaci listy krokow, schematu blokowego 
  lub w języku programowania), ktory dla dowolnej dodatniej liczby całkowitej n <= 50 
  i położenia hetmana (x, y) na szachownicy o wymiarach nx n , gdzie 1<= x<, y <= n, 
  pozwoli obliczyć liczba pol atakowanych przez tego hetmana.
*/
#include<iostream>
using namespace std;

int main()
{
    int x, y, n;
    
    cout<<"Podaj rozmiar planszy"<<endl;
    cin>>n;
    cout<<"Podaj wsporzedna hetmana x"<<endl;
    cin>>x;
    cout<<"Podaj wspolrzedna y"<<endl;
    cin>>y;

/*Hetman bije zawsze n-1 pól w kierunkach poziomych i pionowych. Dla przekątnej biegnącej 
rosnąco od lewej do prawej bije tyle pól ile brakuje x i y do 1 i n, przez co dla x>y y-1 i n-x, a dla y>=x x-1 i n-y. Dla przekątnej biegnącej malejąco od lewej do prawej suma współrzędnych pól wynosi zawsze tyle samo, a pól jest zawsze o jeden mniej niż suma x+y,  
nie licząc pola zajmowanego przez hetmana wynosi to x+y-2. Zatem...*/
    if(x>y)      //...dla x>y            
    cout<<"\n\nHetman bije "<<(2*y)+(3*n)-5<<" pol";          //2(n-1)+y-1+n-x+x+y-2=2n-2+2y+n-3=2y+3n-5
    else              //...a dla y<=x
    cout<<"\n\nHetman bije "<<(2*x)+(3*n)-5<<" pol";          //2(n-1)+x-1+n-y+x+y-2=2n-2+2x+n-3=2x+3n-5
    
    
    cin.ignore();
    getchar();
    return 0;
    }    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT