online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Online C Compiler. Code, Compile, Run and Debug C program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ /* Programa Principal */ /* 0) Escreva um algoritmo que leia um vetor de 13 elementos, que é o Gabarito de um teste da loteria esportiva. Contendo os valores 1(coluna 1), 2(coluna 2) e 3(coluna do meio). 1) Leia, a seguir, para cada apostador, o número do seu cartão e um vetor de Respostas de 13 posições. 2) Verifique para cada apostador o números de acertos, comparando o vetor de Gabarito com o vetor de Respostas. 3) Escreva o número do apostador e o número de acertos. Se o apostador tiver 13 acertos, mostrar a mensagem "Ganhador". */ #include <stdio.h> #include <stdlib.h> // system; /* ------------------------------------------------------------VETOR_BUSCAR----- * Busca o elemento x no vetor, e retorna seu lugar na memória * x: int - Elemento buscado * vetor: int[] - Conjunto de inteiros * tamnanho: int - Valor com tamanho do conjunto * return: local na mémoria do valor sua primeira ocorrência, ou Nulo. */ int vetor_buscar( int x, unsigned tamanho, const int vetor[tamanho] ) { static unsigned i = 0; /* Armazena a última iteração */ static unsigned tam= 0; /* Armazena o valor informado na :tamanho: */ static const int *v = 0; /* Armazena o última :vetor: */ if( 0 != vetor ){ /* Atualizar a :v: com valor da :vetor: */ v= vetor; i= 0; } if( 0 != tamanho ){ tam= tamanho; /* Atualizar a :tam: */ }/* Se :vetor: e :tamanho: = 0, prevalece os valores da última chamada */ while( i < tam ){ if( x == v[i] ){ return (++i); } ++i; } return 0; } /* ---------------------------------------------------------VETOR_X_IGUAL_Y----- * Compara os elementos de dois vetore, e diz se são iguais * tam: int - Tamanho dos vetores * x: int[] - Conjunto de inteiros x * y: int[] - Conjunto de inteiros y * return: x valor se os elementos são iguais, se não 0. */ int vetor_x_igual_y( unsigned tam, const int x[tam], const int y[tam] ) { unsigned pertence= 0; unsigned i= 1; if( 0 != vetor_buscar( x[0],tam,y )){ ++pertence; } while( i < tam ){ if( 0 != vetor_buscar(x[i],0,NULL) ){ ++pertence; } /* 0 é igual 0 */ /* Ao chamar a função :vetor_buscar: ela retorna o local da memória do elemento, porém se o valor x[i->tam] não for localizado, então retorna nulo com isso os vetores possuim pelo menos uma diferença. */ ++i; } return pertence; } /* ----------------------------------------------------------MATRIZ_IGUAL_Y----- * Compara os elementos de dois vetores, e diz as linhas iguais * lin: int - Número de linhas na matriz * col: int - Número de colunas na matriz * matriz: int(*)[col] - Vetor-de-vetores do tipo inteiro * chegado: int[] - vetor com as respostas segundo o índice de linha na matriz * com 1 para as iguais, e para os diferentes 0. * vetor: int[] - O vetor que se envestiga em cada linha da matriz. */ void matriz_igual_y( unsigned lin, unsigned col, const int matriz[lin][col], const int vetor[col], int checado[lin]) { unsigned linha= 0; while(linha < lin){ if( col == vetor_x_igual_y(col,matriz[linha],vetor ) ){ /* É passado para a função :vetor_x_igual_y: O número de :col: é colunas/elementos do vetor correspondente à :linha: que também é o número de elementos na :vetor: :matriz[linha]: é um ponteiro para vetor naquela posição que tem a mesma quantidade de elementos que :vetor:, daí se o valor de retorno é igual a esse número significa que os vetores são iguais em tudo. */ checado[linha] = 1; /* Essa linha é igual à :vetor: */ }else { checado[linha] = 0; /* Essa linha é igual à :vetor: */ } ++linha; } return; } int main( void ) { /* TESTE DAS FUNÇÔES */ int apostas[3][13]= {{ 1, 2,3,4,5,6,7,8, 9,10,11,12,13 }, { 2, 3,4,5,6,7,8,9,10,11,12,13,14 }, { 1, 2,3,4,5,6,7,8, 9,10,11,12,13 } };/* São Três apostas */ int n_sorteados[13]= { 1,2,3,4,5,6,7,8,9,10,11,12,13 }; int bilhetes[3]; matriz_igual_y( 3,13,apostas,n_sorteados,bilhetes ); unsigned posicao= vetor_buscar( 1,3,bilhetes ); while( posicao ){ printf( "%s %u %s\n","O Bilhete:",posicao,"Ganhou!" ); posicao = vetor_buscar( 1,0,NULL ); } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue