簡體   English   中英

C編程-數組中的最大步數,顯示了超過最大的步數

[英]C Programming - Max steps in array, shows more than max

我在寫軟件,但遇到了問題。 我試圖做的是遍歷一個數組,其中的元素只能是1或0,並寫出某人可以從數組的給定點執行的最大步驟。 規則是,只有相同的數字,人們才能執行1步或更多步。 假設我的數組如下所示:1,0,0,0,0,1,1,1,0我從頭開始,我應該只能執行一次,因為1為0之后,我可以僅在輪到我時才改變步數。 因此,如果我從第二個元素開始,則可以執行第1步或第4步。 現在,我想寫出當前播放器可以執行的最大步數,但是由於某種原因,它顯示了最大步數+ 1。

每個變量都是int類型。 墓=數組,j,max_lepes初始化為0

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int tomb[200]={1,0,1,1,1,0,0,1,1,0,1}; // Fo tomb
    int max_lepes,akt_pos,j,i,game_type=0;

    printf("Valasszon jatek tipust (1 Ember vs Szamitogep, 2 Ember vs Ember): ");
    scanf("%d", &game_type);


    if (game_type==1) {


    } else if (game_type==2) {
        // Aktualis tomb kiirasa
        printf("\nAz aktualis szin tomb: ");
        for (i=0; i<11; ++i) {
            printf("%d ", tomb[i]);
        }
        i==0;
        // Max lepesek kiirasa
        max_lepes == 0;
        akt_pos == 0;
        for (j=0; j<11; ++j) {
            if (tomb[j]==tomb[j+1]) {
                max_lepes=max_lepes+1;
            } else {
                printf("\nMaximum lepesek szama= %d", max_lepes);
                break;
            }
        }

    } else {
        printf("Rosz szamot irt be, kerem irjon be 1-et vagy 2-et.");
    }


    return 0;
}
max_lepes == 0;
akt_pos == 0;

應該

max_lepes = 0;
akt_pos = 0;
        i==0;
        max_lepes == 0;
        akt_pos == 0;

這些不將變量分配給0。 ==用於比較,而=用於分配。 因此將它們更改為

        i=0;
        max_lepes = 1;// because max can be at least 1
        akt_pos = 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM