Problem z wypełnieniem tablicy.

0

Mam problem polegający na tym że nie umiem programować, a dokładniej wypełniać tablicy. Ponieważ próba prostym cin >> tab[n]
Ale, zamim ktoś zaproponuje pętle typu

for(int i = 0;i<n;i++){
      cin >> tab[i];}

Chce powiedzieć że oba te zabiegi dają ten sam efekt. Mianowicie 0x61fdc0.

1

W takim razie spróbuj 0x61fdd0

https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/ - sekcja o MCVE

0

Wynik tego przy danych n=8 k=3 i ogol= 0 1 1 0 1 0 1 0, zamiast 2 daje NIE. A sam vector zapisał dane "0x61fdc0". Cokolwiek to znaczy.

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

int main()
{
    int n,k,dz,poczatek,koniec,score;
    vector <int> ogol(n);

    cin >> n >> k;
    for(int i =0;i<n;i++){
        cin >> ogol[i];}

    poczatek = 1;
    koniec = 1;
    score = n + 1;

    if(ogol[0]==0){
        dz=1;}
    else{
        dz=0;}

    while(koniec<n){
        while(dz<k && poczatek<n){
            poczatek ++;
            if(ogol[poczatek]==0){
               dz++;}}
        if(dz==k){
            score=min(score,poczatek-koniec+1);}
        if(ogol[koniec]==0){
            dz=dz-1;}
        koniec++;}
    if(score ==n+1){
        cout << "NIE";}
    else{
        cout << score-k;
    }
    return 0;
}
0
    int n,k,dz,poczatek,koniec,score;
    vector <int> ogol(n);

Jaką wartość ma n?

0

Wynik tego przy danych n=8 k=3 i ogol= 0 1 1 0 1 0 1 0

0

Pytam o ten konkretny fragment kodu.

1

Dobrze, zmieniłem, teraz deklaruje vector po wczytaniu wartości dla n.

0

Dobrze, to otworze nowy wątek, ponieważ dzięki twojej wiedzy już jest dobrze z vectorem, ale dalej zadanie nie działa, więc o pomoc poproszę tam :).

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