Sprawdzenie zadania z matury rozszerzonej 2013 informatyka

0

Przygotowuję się do matury, a w mojej miejscowości nie ma żadnego nauczyciela który jest egzaminatorem, więc postanowiłem zapytać Was. Treść zadanie:
zad.jpg

Moje rozwiązanie:

#include <iostream>
using namespace std;

int main()
{
    int d;
    string bin;
    cin >> d >> bin;

    int x = 0;

    if(bin[0] == '1')
    {
        for(int i = 1; i < bin.size(); i++)
        {
            bin[i] = (bin[i] == '0') ? '1' : '0';
        }
    }

    for(int i = bin.size() - 1, n = 1; i > 0; i--, n*=2)
    {
        if(bin[i] == '1') x += n;
    }

    if(bin[0] == '1') x *= -1;
    cout << x << endl;
}

O algorytm raczej jest ok, ale dziwi mnie treść. Tablica wejściowa jest indeksowana od 1 (WTF?) czy to znaczy, że ja również muszę stworzyć w moim programie tablicę i indeksować ją od 1 czy mogę tutaj bez problemu użyć stringa?

3

Nie musisz się przyjmować indeksacja, w C/C++ przyjęto od zera a piszesz w "... wybranym języku programowania ..."

#include <iostream>
#include <string>
using namespace std;

long long U1(unsigned d,const char bin[])
  {
   for(int i=1;i<d;++i) x=x*2+(bin[i]!=bin[0]);
   return bin[0]!='0'?-x:x;
  }

int main()
  {
   string bin;
   cin>>bin;
   cout<<U1(bin.length(),bin.c_str())<<endl;
   return 0;
  }
0

"Nie musisz się przyjmować indeksacja, w C/C++ przyjęto od zera a piszesz w "... wybranym języku programowania ...""

Też przyjęto ze może to być zwykły schemat blokowy, lub lista kroków bez klepania kodu. Nowa matura ma to do siebie, sam ją z informatyki pisałem więc narysuj schemat blokowy i po kłopocie:)
chyba ze się mylę.

" a w mojej miejscowości nie ma żadnego nauczyciela który jest egzaminatorem" -> a jest w jakiejś szkole taki ktoś ?,jak ja zdawałem takową maturę, to w szkole specjalista od IT w pincie nas uczył rysować plan miasta :) ,(oczywiście to jest żart, bo wiem ze w niektórych szkołach są ludzie którzy znają się na rzeczy, żeby mnie tu ktoś zaraz nie zbluzgał)

moje wrażenia po egzaminie

1- podstawy c++ + wczytywanie i obliczanie dnach z plików exel i txt (typowe zadania dla liczenia średniej z podanych zbiorów liczb).
2 - jak narysować schemat blokowy (trzymając się standardów)
3 - przeliczanie systemów liczb 2, 10,16 itd
4 - no stres i masz zdane

a i co do zadania pisząc obojętnie jaki język programowania, to chyba jakiś chwyt, gdyż na maturze tylko c++ można brać, by najmniej ja żadnego wyboru innego nie miałem.

teraz można wybrać?

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