TÓPICO

I am getting compilation error

Masudkarim perguntou 4 years ago

#include <stdio.h>
#include <malloc.h>

int verify(int key, int *marbleArray,int marbleNumber); // Prototype for verify the existence of the marble.

int main(void) {
    int marbleNumber,quariesNumber;
    int *marbleArray = (int*)malloc(sizeof(int)*marbleNumber);
    int *quariesArray = (int*)malloc(sizeof(int)*quariesNumber);
    int *ifOrNot = (int*)malloc(sizeof(int)*quariesNumber);
    int j = 0;

    scanf("%d %d",&marbleNumber,&quariesNumber);
    while(marbleNumber > 0 && quariesNumber > 0 && marbleNumber <= 10000 && quariesNumber <= 10000) {
//      int j = 0;
        for(int i = 0; i < marbleNumber; i++) {
            scanf("%d",&marbleArray[i]);
        }
        for(int i = 0; i < quariesNumber; i++) {
            scanf("%d",&quariesArray[i]);
        }
        // Now I have to perform a search operation.
        for( int i = 0; i < quariesNumber; i++) {
            ifOrNot[i] = verify(quariesArray[i],marbleArray,marbleNumber);
        }
        printf("CASE# %d\n",j+1);
        j++;
        for(int i = 0; i < quariesNumber; i++) {
            if(ifOrNot[i] < 0) {
                printf("%d not found\n",quariesArray[i]);
            }else {
                printf("%d found at %d\n",quariesArray[i],ifOrNot[i]);
            }
        }
        scanf("%d %d",&marbleNumber,&quariesNumber);
    }

    return 0;
}

int verify (int key, int *marbleArray, int marbleNumber) {
    int position = -1;
    for (int i = 0; i < marbleNumber; i++) {
        if(marbleArray[i] == key) {
            position = i;
        }
    }
    return position;
}

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.

  • alexis__t respondido 4 years ago

    Which line is the compiler failing on? /// If you are submitting in C, and not C ++ the variable (i) cannot be defined inside the for loop.

    for(int i = 0; i < marbleNumber; i++)

    to:

    int i;
    for(i = 0; i < marbleNumber; i++)