30/09/2018, 23:52

Cho mình hỏi điểu gì đang xảy ra vậy?

tại hàm int_subsequence() thi giá trị của subsequence[5]=6
nhưng khi sang hàm int_height_limit() thì giá trị của subsequence[5]=8
???

Pete Houston viết 02:00 ngày 01/10/2018

Đưa code đầy đủ lên để mọi người xem.

Vincent Viết viết 01:57 ngày 01/10/2018

hệ thống chỉ cho minh post 1 ảnh thôi nên không post hêt đoạn code đc. Nhưng phần đó là chính còn mấy đoạn khác chủ yếu là khai báo và gọi hàm trong main() thôi
Đây là kết quả mình chạy đc :

N=9; k=6
lúc đầu trong hàm init_subsequence() thì mảng subsequence[] ={1,2,3,4,5,6}
nhưng sau khi hàm chạy xong thì mảng subsequence[]={1,4,5,6,7,8}
còn hàm height_limit thì không đổi

rõ ràng thì mình chẳng hề động ji đến mảng subsequence[] sau khi nó chạy trong hàm init_subsequence()
nhưng giá trị lại đột ngột thay đổi
mất cả ngày rồi cũng không tìm đc lý do, mong mọi người giúp đỡ

Nguyễn Xuân Phúc viết 02:06 ngày 01/10/2018

Tại sao không đăng source code lên cho mọi người dễ tìm lỗi?

Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null stateme…

Vincent Viết viết 02:08 ngày 01/10/2018
#include <iostream>
using namespace std;

int N,k;
int subsequence[]={};
int height_limit[]={};
void init();
//void subset();

int main() {
    cout<<" Hãy nhập chiều dài chuỗi "<<"\t";
    cin>> N;
    cout<<" Hãy nhập chiều dài dãy con "<<"\t";
    cin>>k;



    init();
    cout<<endl;
    cout<<endl;
    for (int m=0;m<k;m++)
    {
        cout<<subsequence[m];

    }
    cout<<endl;
    cout<<endl;
    for (int u=0;u<k;u++)
    {
        cout<<height_limit[u];


    }


}

void init()
{
    for(int i=0;i<k;i++)
    {

        subsequence[i]=subsequence[i]+i+1;
        cout<<subsequence[i];

    }
    cout<<endl;

    for (int j=0;j<k;j++)
    {
        height_limit[j]=N-k+j+1;
        cout<<height_limit[j];

    }
    cout<<endl;


}

Vincent Viết viết 01:53 ngày 01/10/2018

nhờ mọi người .thanks

Nguyễn Xuân Phúc viết 02:03 ngày 01/10/2018

int subsequence[]={};
int height_limit[]={};

cái này, là mảng có mấy phần tử @@~

Trần Tâm viết 02:03 ngày 01/10/2018

Bạn khai báo mảng mà không cấp số lượng phần tử à, thế thì lỗi là đúng rồi, lên khai báo một mảng động nếu bạn muốn kích thước mảng có thể thay đổi… những trường hợp mà thấy lỗi thì phải chịu khó sử dụng debug đi.

Vincent Viết viết 02:01 ngày 01/10/2018

thanks moi nguoi nhiu nha

Bài liên quan
0