Exercícios sobre Vetores e Matrizes em C

Agora que já estudou tudo sobre os vetores (também conhecido por arrays) e matrizes (também conhecidas como vetores multidimensionais) em linguagem C, está na hora de treinar nossos conhecimentos.

Embora exista várias maneiras de resolver os exercícios a seguir, tente resolver usando vetores.

Aproveite para testar a boa prática de programação: divida as funções de modo que cada uma delas faça uma coisa específica. Use sempre funções, deixe sua main() a mais limpa possível.

Exercícios sobre vetores (arrays) e Matriz em C


00. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, e seu valor.

01. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o menor, e seu valor.

02. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores.


03. Crie um aplicativo em C que peça um número inicial ao usuário, uma razão e calcule os termos de uma P.A (Progressão Aritmética), armazenando esses valores em um vetor de tamanho 10.

04. Crie um aplicativo em C que peça um número inicial ao usuário, uma razão e calcule os termos de uma P.G (Progressão Geométrica), armazenando esses valores em um vetor de tamanho 10.

05. Escreve um programa que sorteio, aleatoriamente, 10 números e armazene estes em um vetor.
Em seguida, o usuário digita um número e seu programa em C deve acusar se o número digitado está no vetor ou não. Se estiver, diga a posição que está.







Desafio 0: Criando um tabuleiro de Jogo da Velha
Crie um tabuleiro de jogo da velha, usando uma matrizes de caracteres (char) 3x3, onde o usuário pede o número da linha (1 até 3) e o da coluna (1 até 3). A cada vez que o usuário entrar com esses dados, colocar um 'X' ou 'O' no local selecionado.

Desafio 1: Como criar um programa que checa se o número é palíndromo
Número palíndromo é aquele que, se lido de trás para frente e de frete para trás, é o mesmo.
Exemplos: 2112, 666, 2442 etc

Dica: extraia os dígitos, coloque cada dígito do número em um vetor e faça a comparação dos números (primeiro com o último, segundo com o penúltimo, terceiro com o anti-penúltimo etc).

O número deve ter 4 dígitos.

40 comentários:

  1. Exercícios excelente, agora faltou algum conteúdo sobre ordenação de vetores.

    ResponderExcluir
  2. Codigo do exercicio 1
    //inclusão de bibliotecas.
    #include
    #include
    #define MAX 10 //tamanho do vetor, caso queira comparar mais numero altere o valor.
    //------------------------------------------------------------------------------

    void vetor()//função sem parametro e sem retorno.
    {
    int vet[3];
    int menor=10000;
    int cont;

    for(cont=0;cont<MAX;cont++)
    {
    printf("\nInforme o %d%c valor: ",cont+1,167);//solicita o valor pro usuario.
    scanf("%d",&vet[cont]);
    if(vet[cont]<menor)//compara os valores.
    menor=vet[cont];
    }

    printf("\nO menor: %d"menor);//exibe o menor valor.
    }
    //------------------------------------------------------------------------------
    main()//função principal.
    {
    vetor();
    getch();//pausa o programa.

    //fim do programa.
    }

    ResponderExcluir
  3. Resolução do 2º exercício

    //inclusão de bibliotecas
    #include
    #include
    #define MAX 4


    int compara_maior(int vetor1[])//função que compara maior valor digitado.
    {
    int cont;
    int maior=0;

    for(cont=0;contmaior)
    maior=vetor1[cont];
    }
    return printf("\n O maior valor eh: %d",maior);
    }

    int compara_menor(int vetor2[])//função que compara o menor valor digitado
    {
    int cont;
    int menor=10000;

    for(cont=0;cont<MAX;cont++)
    {
    vetor2[cont];
    if(vetor2[cont]<menor)
    menor=vetor2[cont];
    }
    return printf("\n O menor valor eh: %d",menor);
    }

    int valores(int vetor[])//função que armazena os valores digitados
    {
    int cont;

    for(cont=0;cont<MAX;cont++)
    {
    printf("\nInforme o %d%c valor:",cont+1,167);
    scanf("%d",&vetor[cont]);
    }
    }


    main()//função principal.
    {
    int vetor_principal[MAX];//vetor principal.

    //chamada de funções.
    valores(vetor_principal);
    compara_maior(vetor_principal);
    compara_menor(vetor_principal);

    getch();//pausa o programa.

    //fim do programa.
    }

    ResponderExcluir
  4. Detectei uma falha no código acima
    por favor substituir a função compara_maior por esta que esta corrigida.
    Obrigado a todos.
    att+.


    int compara_maior(int vetor1[])//função que compara maior valor digitado.
    {
    int cont;
    int maior=0;

    for(cont=0;contmaior)
    maior=vetor1[cont];
    }
    return printf("\n O maior valor eh: %d",maior);
    }

    ResponderExcluir
  5. Resolução do desafio 1 quem conseguir fazer mais compacto por favor postar.
    att+.

    #include
    #include


    int vet1(int vetor1[])
    {
    int cont;

    for(cont=0;cont<4;cont++)
    {
    printf("\nInforme o numero %d: ",cont+1);
    scanf("%d",&vetor1[cont]);
    }
    }

    int compara(int vetor2[])
    {
    int cont;

    for(cont=0;cont<4;cont++)
    {
    vetor2[cont];
    }

    if(vetor2[0]==vetor2[3] && vetor2[1]==vetor2[2] && vetor2[2]==vetor2[1])
    return printf("\nPalindromo");

    else
    return printf("\nNao eh palindromo");

    }

    main()
    {
    char op='s';
    int vetor_principal[TAM];

    do{
    system("cls");

    vet1(vetor_principal);
    compara(vetor_principal);

    printf("\nDeseja verificar outro numero? Sim[s]Nao[n]");
    op=getch();
    }while(op=='s');

    }

    ResponderExcluir
  6. Olá, sou iniciante e gostaria de saber se tem a resolução dos exercicios pois estou com um pouco de dificuldade. Obrigada

    ResponderExcluir
  7. desafio 1, com 4 dígitos, como pede...

    #include
    #include


    int v[100],i;
    int main()
    {
    printf("entre com o numero, ele deve ter 4 digitos\n");
    for(i=0;i<4;i++)
    scanf("%d",&v[i]);


    if(v[0]==v[3])
    {
    if(v[1]==v[2])
    printf("o numero eh palindromo");
    }

    else
    printf("o numero nao eh palindromo");


    }

    ResponderExcluir
  8. Resolução do exercício 2 mais simples:

    int num[10], maior=-99999, menor=99999, i=0;

    for (i=0;i<10;i++){
    cout << "\n Digite o "<> num[i];
    if (num[i]>maior)
    maior=num[i];
    if (num[i]=0;k--){
    cout <<"\n"<< num[k]<<" ";
    }
    printf ("\n Maior numero: %d \n\n Menor numero: %d \n\n",maior, menor);


    vlw abraço

    ResponderExcluir
  9. Resolução mais simplificada do Exercício 2:

    int num[10], maior=-99999, menor=99999, i=0;

    for (i=0;i<10;i++){
    cout << "\n Digite o "<> num[i];
    if (num[i]>maior)
    maior=num[i];
    if (num[i]=0;k--){
    cout <<"\n"<< num[k]<<" ";
    }
    printf ("\n Maior numero: %d \n\n Menor numero: %d \n\n",maior, menor);


    abraço!

    ResponderExcluir
  10. Resolução simplificada do exercicio 2. O mesmo serve para o 3, só é preciso mudar o sinal de menor para maior.

    #include

    int main()
    {
    int i, v[10], menor;

    for (i=0; i<10; i++)
    {
    scanf("%d",&v[i]);
    if (v[i]<v[i-1])
    menor = v[i];
    }

    printf("Menor: %d",menor);

    return 0;
    }

    ResponderExcluir
  11. Muito Bom esse foi o melhor ate agora. Minha tentativa no Desafio 0:

    /* Curso de Programação C - C Progressivo
    http://www.cprogressivo.net

    Autor: Mauro Brito
    Data: 11-08-14 08:45:31
    Aprendendo: C Progressivo!
    Plataforma Windows x86
    Editor: Code::Blocks V.:13.12 */
    // Programa JogoDaVelhaDOS.c

    int verificar(int a, int b, char jogo[][3]){
    if (jogo[a-1][b-1] == 'x' || jogo[a][b] == 'o')
    return 1;

    return 0;
    }
    int validar(int a, int b, char c){
    if (a > 3 || a < 0 || b > 3 || b < 0)
    return 2;

    if (c != 'x' && c != 'o')
    return 2;

    return 0;
    }
    void iniciarJogo(char jogo[][3]){
    int i,j;
    for(i=0; i<3; i++)
    for(j=0; j<3; j++)
    jogo[i][j] = '-';
    }
    void imprimirJogo(char jogo[][3]){
    int j;
    printf("\n#### JOGO ATUAL ####\n");
    printf(" 1 2 3\n");
    for(j=0; j<3; j++)
    printf("%i %c %c %c\n",(j+1),jogo[j][0],jogo[j][1],jogo[j][2]);
    printf("\n");
    }
    int gravar(int a, int b, char c, char jogo[][3]){
    int FAIL;
    FAIL = validar(a,b,c);
    if(FAIL != 0) return FAIL;

    FAIL = verificar(a,b,jogo);
    if(FAIL != 0) return FAIL;

    //gravando...
    jogo[a-1][b-1] = c;
    //gravando...

    return 0;
    }
    void MENU(char jogo[][3]){
    iniciarJogo(jogo);
    printf("### O Jogo foi Iniciado ###\n");
    int num, num2, sair;
    char c, cVez;
    cVez = 'x';
    sair = 0;

    do{
    printf("E a vez de %c, Jogar!\nDigite sua jogada:\nExemplo.: 1 1 x\n\t ",cVez);
    scanf("%i",&num);
    scanf("%i",&num2);
    scanf(" %c",&c);
    if (num == 0 && num2 == 0) break;
    if(cVez == c)
    switch(gravar(num,num2,c,jogo)){
    case 1:
    printf("\nJa existe marcacao na coordenada!\n");
    break;
    case 2:
    printf("\nUm ou mais dados da coordenada esta errado.\nSiga o exemplo.\n");
    break;
    default:
    printf("\nBoa jogada!");
    if (c =='x') cVez = 'o';
    else cVez = 'x';
    imprimirJogo(jogo);
    break;
    }
    else printf("Nao e sua vez de jogar: %c \n",c);

    }while(sair == 0);
    printf("###### GAME OVER ######");
    }
    int main (void){
    char JOGO[3][3];
    MENU(JOGO);

    return 0;
    }

    ResponderExcluir
  12. algem sabe a resolução do exercicio 5

    ResponderExcluir
  13. #include
    #define DIM 3


    void exibe(char tabuleiro[][DIM]);
    int marcax(char tabuleiro[][DIM]);
    int marcao(char tabuleiro[][DIM]);

    int main(void)
    {
    char tabuleiro[DIM][DIM]={{'.','.','.'},{'.','.','.'},{'.','.','.'}};

    exibe(tabuleiro);
    marcax(tabuleiro);
    exibe(tabuleiro);
    marcao(tabuleiro);

    exibe(tabuleiro);
    marcax(tabuleiro);
    exibe(tabuleiro);
    marcao(tabuleiro);

    exibe(tabuleiro);
    marcax(tabuleiro);
    exibe(tabuleiro);
    marcao(tabuleiro);

    exibe(tabuleiro);
    marcax(tabuleiro);
    exibe(tabuleiro);
    marcao(tabuleiro);

    exibe(tabuleiro);
    marcax(tabuleiro);
    exibe(tabuleiro);

    printf("\nEND GAME");
    }

    void exibe(char tabuleiro[][DIM])
    {
    int coluna, linha;

    printf("\n");

    for(linha=0;linha<DIM;linha++)
    {
    for(coluna=0;coluna<DIM;coluna++)
    printf(" %3c",tabuleiro[linha][coluna]);
    printf("\n\n");
    }
    }

    int marcax(char tabuleiro[][DIM])
    {
    int linha,coluna;

    printf("\nJOGADOR 1\n Escolha sua posição...");
    printf("\nExemplo...[linha][coluna]\n");
    scanf("%d",&linha);
    scanf("%d",&coluna);

    tabuleiro[linha -1][coluna -1] = 'x';

    return tabuleiro;
    }

    int marcao(char tabuleiro[][DIM])
    {
    int linha, coluna;

    printf("\nJOGADOR 2\n Escolha sua posição...");
    printf("\nExemplo...[linha][coluna]\n");
    scanf("%d",&linha);
    scanf("%d",&coluna);

    tabuleiro[linha -1][coluna -1] = 'o';

    return tabuleiro;
    }

    ResponderExcluir
  14. /*Autor:Filipe Gabriel da Silva
    Exercicio 2
    Usando em C++
    *\


    #include
    using namespace std;

    main()
    {
    int a, maior=0, menor, num[10];
    menor=num[0];

    for(a=0; a<10; a++)
    {
    cout<<"Digite o numero do "<>num[a];

    if(num[a]>maior)
    {
    maior=num[a];
    }
    if(num[a]<=menor)
    {
    menor=num[a];
    }
    }
    if((num[0<10])!=(num[0>10]))
    {
    for(a=0; a<10; a++)
    {
    if(maior==num[a])
    {
    cout<<"\nO maior numero eh "<<maior<<" e esta no elemento:"<<a<<"\n";
    }
    if(menor==num[a])
    {
    cout<<"\nO menor numero eh "<<menor<<" e esta no elemento:"<<a<<"\n";
    }
    }
    }
    else if(num[0]==num[1]==num[2]==num[3]==num[4]==num[5]==num[6]==num[7]==num[8]==num[9])
    {
    cout<<"Sao iguais\n";
    }
    else
    {
    for(a=0; a<10; a++)
    {
    if(maior==num[a])
    {
    cout<<"\nO maior numero eh "<<maior<<" e esta no elemento:"<<a<<"\n";
    }
    if(menor==num[a])
    {
    cout<<"\nO menor numero eh "<<menor<<" e esta no elemento:"<<a<<"\n";
    }
    }
    }
    }

    ResponderExcluir
  15. não é necessario adotar um valor absurdamente grande na definição de "menor" no exercício 2. Segue abaixo um jeito mais "amplo" digamos assim:

    #include
    #include
    int main(){
    int vetor[10], i, maior, menor, pmaior, pmenor;
    for (i=0; i<10; i++){
    printf ("\nDigite o valor da posicao %d do vetor:\t", i);
    scanf ("%d", &vetor[i]);
    if (vetor[i]==vetor[0]){
    maior=vetor[i];
    menor=vetor[i];
    pmaior=i;
    pmenor=i;
    }
    if (vetor[i]>maior){
    maior=vetor[i];
    pmaior=i;
    }
    if (vetor[i]<menor){
    menor=vetor[i];
    pmenor=i;
    }
    }
    printf("\n\nO maior valor do vetor e:%d\tE sua posicao e:%d\n", maior, pmaior);
    printf("\n\nO menor valor do vetor e:%d\tE sua posicao e:%d\n", menor, pmenor);
    system ("pause");
    return 0;
    }

    ResponderExcluir
  16. Solução mais elegante que eu consegui do exercício 2 :)

    #include
    #define MAX 10

    void recebe();
    int maior(int a,int b);
    int menor(int a, int b);
    int testemaior();
    int testemenor();

    int main(void)
    {
    int numero[MAX];
    int Maior, Menor;

    recebe(numero);
    Maior = testemaior(numero);
    Menor = testemenor(numero);

    printf("maior: %d\n",Maior);
    printf("menor: %d\n",Menor);

    }

    int maior(int a , int b)
    {
    if(a > b)
    return a;
    else
    return b;
    }

    int menor(int a , int b)
    {
    if(a < b)
    return a;
    else
    return b;
    }

    void recebe(int numero[])
    {
    int cont;

    for(cont = 0 ; cont < MAX ; cont++)
    {
    printf("Insira o numero %d: ",cont+1);
    scanf("%d",&numero[cont]);
    }
    printf("\n");
    }

    int testemaior(int numero[])
    {
    int cont;
    int Maior;

    Maior = maior(numero[0],numero[1]);

    for(cont = 0 ; cont < MAX ; cont++)
    {
    Maior = maior(numero[cont],Maior);
    }
    return Maior;
    }

    int testemenor(int numero[])
    {
    int cont;
    int Menor;

    Menor = menor(numero[0],numero[1]);

    for(cont = 0 ; cont < MAX ; cont++)
    {
    Menor = menor(numero[cont],Menor);
    }
    return Menor;
    }

    ResponderExcluir
  17. Desafio 0, jogo da velha.. Sou amador. mas deu certo!!!kkk!!!

    #include
    #include
    #include

    void main(void)
    {
    do {
    char escolha, tabuleiro[3][5], jogadas[3][3];
    int limite = 0, i, j, k, linha, coluna, jog = 0, vitoria = 0;
    //inicializando vetores
    for (i = 0; i < 3; i++)
    {
    for (j = 0; j < 3; j++)
    {
    jogadas[i][j] = NULL;
    }
    }
    for (i = 0; i < 3; i++)
    {
    for (j = 0; j < 5; j++)
    {
    tabuleiro[i][j] = NULL;
    }
    }
    do{
    do {
    system("cls");
    //imprimindo tabuleiro
    for (i = 0; i < 3; i++)
    {
    for (j = 1; j < 5; j += 2)
    {
    tabuleiro[i][j] = '|';
    }
    }
    for (i = 0; i < 3; i++)
    {
    printf(" ");
    for (j = 0; j < 5; j++)
    {

    printf("%c", tabuleiro[i][j]);
    }
    printf("\n");
    }
    //Capturando jogada
    if (jog == 0)
    {
    printf("\n Player 1 ('X'):\n");
    escolha = 1;

    }
    else
    {
    printf("\n Player 2 ('O'):\n");
    escolha = 2;

    }
    printf(" Insira a linha: ");
    scanf("%d", &linha);
    printf(" Insira a coluna: ");
    scanf("%d", &coluna);
    system("cls");
    }while(jogadas[linha - 1][coluna - 1] != NULL);

    if (jogadas[linha - 1][coluna - 1] == NULL)
    {
    if(jog == 0)
    {jog=1;}
    else{jog=0;}
    switch (escolha)
    {
    case 1:
    jogadas[linha - 1][coluna - 1] = 'X';
    break;

    case 2:
    jogadas[linha - 1][coluna - 1] = 'O';
    break;
    }
    }
    else
    {
    printf("Tente denovo!..\n");
    }


    for (i = 0; i < 3; i++)
    {
    k = 0;
    for (j = 0; j < 5; j += 2)
    {
    tabuleiro[i][j] = jogadas[i][k];
    k++;
    }
    printf("\n");
    }

    for (i = 0; i < 3 && !vitoria; i++)
    {
    if (jogadas[linha - 1][coluna - 1] == jogadas[i][0] && jogadas[i][0] == jogadas[i][1] && jogadas[i][1] == jogadas[i][2])
    {
    vitoria = 1;
    }
    else if (jogadas[linha - 1][coluna - 1] == jogadas[0][i] && jogadas[0][i] == jogadas[1][i] && jogadas[1][i] == jogadas[2][i])
    {
    vitoria = 1;
    }
    else if (jogadas[linha - 1][coluna - 1] == jogadas[0][0] && jogadas[0][0] == jogadas[1][1] && jogadas[1][1] == jogadas[2][2])
    {
    vitoria = 1;
    }
    else if (jogadas[linha - 1][coluna - 1] == jogadas[0][2] && jogadas[0][2] == jogadas[1][1] && jogadas[1][1] == jogadas[2][0])
    {
    vitoria = 1;
    }
    }
    limite++;

    } while (vitoria == 0 && limite < 9);
    system("cls");
    for (i = 0; i < 3; i++)
    {
    printf(" ");
    for (j = 0; j < 5; j++)
    {
    printf("%c", tabuleiro[i][j]);
    }
    printf("\n");
    }
    printf("\n");
    if(vitoria == 0)
    { printf("\n Empate\n"); }
    else if (jogadas[linha - 1][coluna - 1] == ('X'))
    {
    printf("\n Vitoria Player 1 !!!\n");
    }
    else if (jogadas[linha - 1][coluna - 1] == ('O'))
    {
    printf("\ nVitoria Player 2!!!\n");
    }

    printf("\nPrecione 'q' para sair ou 'Enter' para continuar...\n");
    getchar();
    }while (getchar() != 'q');
    }

    ResponderExcluir
  18. Então senhores a solução das questões[3] segue no código abaixo:

    #include
    #define INDICE 5 /*Para alterar a quantidade numeros basta mudar o valor da constante*/
    int main()
    {
    int i,maior, menor, elemento_maior=0, elemento_menor=0, x[INDICE];
    for(i=0; imaior)
    {
    maior=x[i];
    elemento_maior=i;
    }
    if(x[i]<menor){
    menor=x[i];
    elemento_menor=i;
    }
    }

    printf("\nMaior: %d e esta no elemento [%d].\n", maior, elemento_maior);
    printf("Menor: %d e esta no elemento [%d].\n", menor, elemento_menor);
    return 0;
    }

    ResponderExcluir
  19. Fiz o exercicio 5, porem a forma para faze-lo nao foi explicitada no site, pesquisei, estudei e consegui elaborar o programa, segue abaixo com explicações:

    #include
    #include/*Necessaria para as funcoes 'rand' e 'srand'.*/
    #include/*Necessaria para a funcao 'time'.*/
    #define CONST 10
    int main ()
    {
    int a, sair=1, i, consta, posicao, num[CONST];/*declaração de variaveis*/

    srand(time(NULL));
    /*A função 'srand' fornecerá um valor inicial(chamado de semente) que se faz necessário para
    que o algoritmo interno da funcao 'rand' possa calcular os valores aleatórios.

    Sem a 'srand' o valor inicial da 'rand' sempre será 1(um) gerando os mesmos valores aleatórios
    sempre que executarmos o programa.

    A 'srand' utiliza o relógio do SO (Sistema Operacional) que você esta usando. Ela pega todos os segundos
    que se passaram desde a data fixa de 1 de janeiro de 1970 ate a data atual e fornece para a 'rand'
    como valor inicial.

    Desse modo os valores aleatórios sempre irão mudar ao executarmos o programa
    pois serao momentos diferentes. A função 'time(NULL)' pega os segundos do relógio do SO por meio de
    seu algoritmo interno.*/
    for(i=0; i<CONST; i++)
    {
    num[i]=rand()%100;/*A função 'rand()' nos fornece os valores aleatórios numa faixa fixa de
    0(zero) ate um valor especificado pelo programador(no caso deste programa o valor é o 100(cem))*/
    }
    while(sair==1) /*loop para o usuário tentar de novo se quiser*/
    {

    printf("\n Digite um numero entre 0 e 100: \n");
    scanf("%d", &a);
    for(i=0; i<CONST; i++)
    {
    if(num[i]==a)
    {
    consta=num[i];
    posicao=i;
    }
    }
    if(consta==a)
    {

    printf("\n Parabens, voce acertou!");
    printf("\n O numero %d esta no vetor de numero %d",a, posicao);
    printf("\n A sequencia aleatoria era: ");
    for(i=0; i<CONST; i++)
    {
    printf("%d ", num[i]);
    }
    break;
    }
    else
    {
    printf("\n Nao esta no vetor.\n");
    printf("\n-----------------------------------------------------");
    printf("\n Deseja tentar de novo?\n (Digite '1' para SIM ou qualquer outra tecla para sair...) ");
    printf("\n-----------------------------------------------------\n");
    scanf("%d", &sair);
    }
    }
    return 0;
    }

    ResponderExcluir
  20. EXE 3 ->

    #include
    #include

    /* Crie um aplicativo em C que peça um número inicial ao usuário, uma
    razão e calcule os termos de uma P.A (Progressão Aritmética),
    armazenando esses valores em um vetor de tamanho 10. */

    int main () {

    int vetor[10], numero, razao, i=0;

    printf("Digite um numero: ");
    scanf("%d", &numero);

    printf("\nDigite a razao: ");
    scanf("%d", &razao);

    vetor[i] = numero;
    printf("\n");

    for(i = 0; i < 10; i++){

    vetor[i+1] = vetor[i] + razao;

    }

    printf("-PROGRESSAO ARITIMETICA-");

    for (i = 0; i < 10; i++){

    printf("\n%d", vetor[i]);


    }

    system ("pause");
    return 0;
    }

    ResponderExcluir
  21. fiz em c# o desafio 1;

    static void Main(string[] args)
    {
    int[] valores = new int[4];
    int[] temp = new int[4];
    int count = 0;
    for(int i=0; i<4; i++)
    {
    Console.WriteLine("Digite o {0} numero", i + 1);
    valores[i] = Convert.ToInt32(Console.ReadLine());
    }
    for(int i=3; i>-1; i--)
    {
    temp[count] = valores[i];
    count++;
    }
    Boolean verificar = true;
    for(int i=0; i<4; i++)
    {
    if (valores[i] != temp[i])
    {
    verificar = false;
    break;
    }
    }
    Console.WriteLine(verificar ? "Numero é palindromo" : "Numero nao é palindromo");
    Console.ReadLine();
    }

    ResponderExcluir
  22. Ae, finalmente consegui o exercicio 0 de maneira satisfatória:

    #include
    #define TOTAL 10

    int recebenumero(int a[TOTAL]);
    int verifica_numero(int a[TOTAL]);

    int main()
    {
    int numeros[TOTAL];

    printf("Digite 10 numeros diferentes:\n\n");
    recebenumero(numeros);
    verifica_numero(numeros);

    return 0;
    }

    int recebenumero(int a[TOTAL])
    {
    int count;

    for(count=0 ; count<TOTAL ; count++)
    {
    printf("Numero %d: ",1+count);
    scanf("%d",&a[count]);
    }
    }

    int verifica_numero(int a[TOTAL])
    {
    int maior,elemento,count=0,linha=0;

    maior=a[count];

    for(count,linha; count<TOTAL ; count++,linha++)
    {
    if(maior<a[linha])
    maior=a[linha],elemento=1+linha;

    else
    continue;

    }
    printf("\nO maior numero eh %d, que esta localizado no elemento: %d\n\n",maior,elemento);


    }

    ResponderExcluir
  23. como posso fazer um programa em C que calcule varias matriz que tenha um código um menu Switch. e o usuário que escolhe o tamanho e função que deseja realizar?

    ResponderExcluir
  24. // Exercício 5

    #include
    #include
    #include
    #define DIM 10

    void sorteio(int vetor[]){
    int i;
    srand((unsigned) time (NULL));
    for(i = 0; i < DIM; i++){
    vetor[i] = rand() % 101;
    }
    }
    void tentativas(int vetor[]){
    int numero,i,continuar=1;
    while(continuar){
    printf("Digite um número: ");
    scanf("%d",&numero);
    for(i = 0; i < DIM; i++){
    if(numero == vetor[i]){
    printf("o número digitado está no vetor: %d\n", i);
    continuar = 0;
    break;
    }
    }
    }
    }

    int main(){
    int vetor[DIM];
    sorteio(vetor);
    tentativas(vetor);
    return 0;
    }

    ResponderExcluir
  25. Este comentário foi removido pelo autor.

    ResponderExcluir
  26. RESOLUÇÃO DO EXERCICIO 5 FUNCIONANDO CORRETAMENTE.
    #include
    #include
    #include
    #define DIM 10
    /*PROGRAMA CRIADO PARA REALIZAR O EXERCICIO 5 DE VETORES
    DA PAGINA HTTP://CPROGRESSIVO.NET.
    DATA: 14/06/2017
    CRIADO POR: RAYLLER EMERY
    */

    void vetores(int numeros[]){
    int count;

    srand((unsigned)time(NULL));

    for(count = 0; count < DIM; count++){
    numeros[count] = 1 + (rand()%50);
    }
    }

    void testar(int numeros[]){
    int n, count;

    do{
    printf("Digite seu numero: ");
    scanf("%d", &n);
    for(count = 0; count < DIM; count++){
    getchar();
    system("cls||clean");
    if(n == numeros[count]){
    printf("Voce acertou meu querido!\n");
    printf("Seu numero: %d\n\n", n);
    printf("Numero do vetor %d: %d\n\n", count, numeros[count]);
    break;
    }
    else{
    printf("Voce errou!\n");
    printf("Seu numero: %d\n\n", n);
    printf("Numero do vetor %d: %d\n\n", count, numeros[count]);

    }

    }
    getchar();
    system("cls||clean");
    }while(numeros[count] != n);
    }

    int main (){
    int numeros[DIM];

    vetores(numeros);
    testar(numeros);

    return 0;
    }

    ResponderExcluir
  27. Questão 5:

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

    #define TAM 10

    int main () {
    int i, vet[TAM], aposta = 0, conta = 0;

    setlocale(LC_ALL, "Portuguese");

    srand((unsigned) time (NULL));

    for (i = 0; i < TAM; i++) {
    vet[i] = (1 + rand() % 20);
    }

    printf("\t LOTERIA\n\n");
    printf("- Digite sua aposta, um número de 1 a 20:");
    scanf("%d", &aposta);

    for (i = 0; i < TAM; i++) {
    if (vet[i] == aposta) {
    printf("\n\nNa %dª posição", i + 1);
    conta++;
    }
    }

    if (conta > 0) {
    printf("\n\nSua aposta foi sorteada %d vez(es)!\n\n", conta);
    } else {
    printf("\n\nSua aposta não foi sorteada.\n\n");
    }

    system("pause");
    return 0;
    }

    ResponderExcluir
  28. Desafio 1:

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

    #define TAM 4

    int main () {
    int i, numero = 0, contador = 0;
    char palin[TAM];

    setlocale(LC_ALL, "Portuguese");

    printf("- Digite um número de 4 digitos: ");
    gets(palin);

    contador = TAM;

    for (i = 0; i < TAM; i++) {
    if (palin[i] == palin[contador - 1]) {
    contador--;
    }
    }
    if (contador == 0) {
    printf("\n\nEsse(a) número/palavra é um palindromo.\n\n");
    } else {
    printf("\n\nNão é um palindromo!\nCertifique-se de que digitou um número ou palavra de 4 digitos.");
    }

    system("pause");
    return 0;
    }

    GitHub: github.com/MarcosAndre5/Palindromo/blob/master/Palindromo.c

    ResponderExcluir
  29. Desafio 0:

    Resposta: github.com/MarcosAndre5/PreencerJogoDaVelha/blob/master/PreencerJogoDaVelha.c

    ResponderExcluir
  30. Exercício 3 resposta!

    #include

    int main(){
    int vet[10];
    int r, i;

    printf("Digite o primeiro valor e digite a razao\n");
    scanf("%d %d", &vet[0], &r);

    for(i=0; i<9; i++){
    vet[i+1] = vet[i] + r;
    printf("%d , ", vet[i]);
    }
    }

    ResponderExcluir
  31. // 00. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, e seu valor.



    #include
    #define LENGTH 4

    float createArray (float createArrayInput []);
    float printArray (float printArrayInput []);
    float larger (float Array []);

    float main(void)
    {
    float array [LENGTH];
    createArray(array);
    printArray(array);
    printf("\n\t O maior elemento e: %3.2f \n", larger(array));
    system("pause");
    }

    float createArray (float createArrayInput [])
    {
    int counter;
    printf("\t Entre com os %d elementos do Array \n", LENGTH);
    for ( counter = 1; counter <=LENGTH; counter++ )
    scanf("%f", &createArrayInput[counter]);
    }

    float printArray (float printArrayInput [])
    {
    int counter;
    printf("\t Os 10 elementos do Array sao: \n");
    for ( counter = 1; counter <=LENGTH; counter++ )
    printf("\t Elemento %2d: %3.2f \n", counter, printArrayInput [counter]);
    }

    float larger (float Array [])
    {
    int counter, larger;
    larger = Array [0];
    for ( counter = 1; counter <=LENGTH; counter++ )
    if ( Array[counter] > larger )
    larger = Array[counter];
    return larger;
    }

    ResponderExcluir
  32. // 02. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores.

    OBSERVAÇÃO: Se um dos elementos do vetor é negativo o programa funciona.
    Se nenhum elemento é negativo o menor numero retornado é igual a Zero (0).
    Alguém consegue me dizer qual o erro?


    #include
    #define LENGTH 4

    float createArray (float createArrayInput []);
    float printArray (float printArrayInput []);
    float smaller (float Array []);
    float larger (float Array []);

    float main(void)
    {
    float array [LENGTH];
    createArray(array);
    printArray(array);
    printf("\n\t O menor elemento e: %3.2f \n", smaller(array));
    printf("\n\t O maior elemento e: %3.2f \n", larger(array));

    system("pause");
    }

    float createArray (float createArrayInput [])
    {
    int counter;
    printf("\t Entre com os %d elementos do Array \n", LENGTH);
    for ( counter = 1; counter <=LENGTH; counter++ )
    scanf("%f", &createArrayInput[counter]);
    }

    float printArray (float printArrayInput [])
    {
    int counter;
    printf("\t Os 10 elementos do Array sao: \n");
    for ( counter = 1; counter <=LENGTH; counter++ )
    printf("\t Elemento %2d: %3.2f \n", counter, printArrayInput [counter]);
    }

    float smaller (float Array [])
    {
    int counter;
    float smaller;
    smaller = Array [0];
    for ( counter = 1; counter <=LENGTH; counter++ )
    {
    if ( Array[counter] < smaller )
    smaller = Array[counter];
    }
    return smaller;
    }

    float larger (float Array [])
    {
    int counter;
    float larger;
    larger = Array [0];
    for ( counter = 1; counter <=LENGTH; counter++ )
    if ( Array[counter] > larger )
    larger = Array[counter];
    return larger;
    }

    ResponderExcluir
  33. 02. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores.


    Alguém pode me dizer qual o problema? Acredito ser um problema com o tipo "float" ou com o comando scanf.
    O código em linguagem C a seguir pede ao usuário que entre com 4 números, armazena em um vetor, mostra qual o maior número e o menor número.

    Quando entre os 4 números há um número negativo o programa roda bem.
    Quando todos os 4 números são positivos o programa não mostra o menor número, ao invés disso ele mostra o zero.
    Quando entro com um número decimal o programa não deixa entrar com os demais números e também não mostra o menor número.




    #include
    #include
    #define LENGTH 4

    float createArray (float createArrayInput []);
    float printArray (float printArrayInput []);
    float smaller (float Array []);
    float larger (float Array []);

    float main(void)
    {
    setlocale(LC_ALL, "Portuguese");
    float array [LENGTH];
    createArray(array);
    printArray(array);
    printf("\n\t O menor elemento é: %3.2f \n", smaller(array));
    printf("\n\t O maior elemento é: %3.2f \n\n", larger(array));

    system("pause");
    }

    float createArray (float createArrayInput [])
    {
    int counter;
    printf("\t Entre com os %d elementos do Array \n", LENGTH);
    for ( counter = 1; counter <= LENGTH; counter++ )
    {
    printf("\t \t");
    scanf(" %f", &createArrayInput[counter]);
    }
    }

    float printArray (float printArrayInput [])
    {
    int counter;
    printf("\n \t Os 10 elementos do Array são: \n\n");
    for ( counter = 1; counter <= LENGTH; counter++ )
    printf("\t Elemento %2d: %3.2f \n", counter, printArrayInput [counter]);
    }

    float smaller (float Array [])
    {
    int counter;
    float smaller;
    smaller = Array [0];
    for ( counter = 1; counter <= LENGTH; counter++ )
    {
    if ( Array[counter] < smaller )
    smaller = Array[counter];
    }
    return smaller;
    }

    float larger (float Array [])
    {
    int counter;
    float larger;
    larger = Array [0];
    for ( counter = 1; counter <= LENGTH; counter++ )
    if ( Array[counter] > larger )
    larger = Array[counter];
    return larger;
    }

    ResponderExcluir
  34. //04. Crie um aplicativo em C que peça um número inicial ao usuário,
    //uma razão e calcule os termos de uma P.G (Progressão Geométrica),
    //armazenando esses valores em um vetor de tamanho 10.

    //https://pt.wikipedia.org/wiki/Progress%C3%A3o_geom%C3%A9trica

    #include
    #include
    #include
    #define NUMERO_DE_TERMOS 10

    int calculoPg (int an_NesimoTermo[], int primeiroTermo, int RAZAO);

    int main(void)
    {
    int a1_primeiroTermo, razao;
    int an_NesimoTermo [NUMERO_DE_TERMOS];
    setlocale(LC_ALL, "Portuguese");
    printf("\t Calculo do n-ésimo termo de uma Progressão Geométrica");
    printf("\n\n \t Entre com o primeiro termo da PG ");
    scanf("%d", &a1_primeiroTermo);
    printf(" \t Entre com a razão da PG ");
    scanf("%d", &razao);

    calculoPg(an_NesimoTermo, a1_primeiroTermo, razao);
    printf("\n\n");

    }

    int calculoPg (int an_NesimoTermoInput[], int primeiroTermo, int RAZAO)
    {
    int counter;
    for ( counter = 1; counter <= NUMERO_DE_TERMOS; counter++ )
    {
    an_NesimoTermoInput [counter - 1] = primeiroTermo * pow (RAZAO, counter - 1) ;
    printf("\n \t O Termo numero %3d é: %3d", counter, an_NesimoTermoInput [counter - 1]);
    }
    }

    ResponderExcluir
  35. //05. Escreve um programa que sorteio, aleatoriamente, 10 números e
    // armazene estes em um vetor.
    //Em seguida, o usuário digita um número e seu programa em C deve acusar
    // se o número digitado está no vetor ou não. Se estiver, diga a posição que está.


    #include
    #include
    #include
    #define LENGTH 10

    int sortear (int vetorAleatorioInput[]);
    int adivinhar (int vetorSorteadoInput[] );

    int main(void)
    {
    int vetorAleatorio [LENGTH];
    setlocale(LC_ALL, "Portuguese");
    sortear (vetorAleatorio);
    adivinhar (vetorAleatorio);
    }

    int sortear (int vetorAleatorioInput[])
    {
    int counter;
    srand(time(NULL));
    printf("\t Sorteando 10 numeros e armazenando em um Vetor... \n");
    for ( counter = 0; counter < LENGTH; counter++ )
    {
    vetorAleatorioInput [counter] = 1+ rand() % LENGTH * 3;
    printf("\n\t\t O elemento %4d é: %4d", counter + 1, vetorAleatorioInput [counter]);
    }
    printf("\n");
    }

    int adivinhar (int vetorSorteadoInput[] )
    {
    int tentativa, counter, tentativaFrustada = 0;
    printf("\n\t Tente adivinhar um dos numeros sorteados (Faixa de 1 a %4d). Tente um numero: ", LENGTH *3);
    scanf("%d", &tentativa);
    for ( counter = 0; counter < LENGTH; counter++ )
    {
    if ( tentativa == vetorSorteadoInput [counter] )
    printf("\n\t O numero %3d foi sorteado e esta armazenado na posição %3d do vetor", tentativa, counter + 1 );
    else
    tentativaFrustada++;
    }
    if ( tentativaFrustada == LENGTH )
    printf("\n\t O numero %3d não foi sorteado \n", tentativa);
    }

    ResponderExcluir
  36. //03. Crie um aplicativo em C que peça um número inicial ao usuário,
    //uma razão e calcule os termos de uma P.A (Progressão Aritmética),
    //armazenando esses valores em um vetor de tamanho 10.

    //https://pt.wikipedia.org/wiki/Progress%C3%A3o_aritm%C3%A9tica

    #include
    #include
    #define NUMERO_DE_TERMOS 10

    int calculoPa (int an_NesimoTermo[], int primeiroTermo, int RAZAO);

    int main(void)
    {
    int a1_primeiroTermo, razao;
    int an_NesimoTermo [NUMERO_DE_TERMOS];
    setlocale(LC_ALL, "Portuguese");
    printf("\t Calculo do n-ésimo termo de uma Progressão aritmética");
    printf("\n\n \t Entre com o primeiro termo da PA ");
    scanf("%d", &a1_primeiroTermo);
    printf(" \t Entre com a razão da PA ");
    scanf("%d", &razao);

    calculoPa(an_NesimoTermo, a1_primeiroTermo, razao);
    printf("\n\n");

    }

    int calculoPa (int an_NesimoTermoInput[], int primeiroTermo, int RAZAO)
    {
    int counter;
    for ( counter = 1; counter <= NUMERO_DE_TERMOS; counter++ )
    {
    an_NesimoTermoInput [counter - 1] = primeiroTermo + (counter - 1) * RAZAO;
    printf("\n \t O Termo numero %3d é: %3d", counter, an_NesimoTermoInput [counter - 1]);
    }
    }

    ResponderExcluir
  37. // 02. Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores.

    #include
    #include
    #define LENGTH 4

    float createArray (float createArrayInput []);
    float printArray (float printArrayInput []);
    float smaller (float Array []);
    float larger (float Array []);

    float main(void)
    {
    setlocale(LC_ALL, "Portuguese");
    float array [LENGTH];
    createArray(array);
    printArray(array);
    printf("\n\t O menor elemento é: %3.2f \n", smaller(array));
    printf("\n\t O maior elemento é: %3.2f \n\n", larger(array));

    system("pause");
    }

    float createArray (float createArrayInput [])
    {
    int counter;
    printf("\t Entre com os %d elementos do Array \n", LENGTH);
    for ( counter = 0; counter < LENGTH; counter++ )
    {
    printf("\t \t");
    scanf(" %f", &createArrayInput[counter]);
    }
    }

    float printArray (float printArrayInput [])
    {
    int counter;
    printf("\n \t Os 10 elementos do Array são: \n\n");
    for ( counter = 0; counter < LENGTH; counter++ )
    printf("\t Elemento %2d: %3.2f \n", counter, printArrayInput [counter]);
    }

    float smaller (float Array [])
    {
    int counter;
    float smaller;
    smaller = Array [0];
    for ( counter = 0; counter < LENGTH; counter++ )
    {
    if ( Array[counter] < smaller )
    smaller = Array[counter];
    }
    return smaller;
    }

    float larger (float Array [])
    {
    int counter;
    float larger;
    larger = Array [0];
    for ( counter = 0; counter < LENGTH; counter++ )
    if ( Array[counter] > larger )
    larger = Array[counter];
    return larger;
    }

    ResponderExcluir
  38. /*Desafio 1: Como criar um programa que checa se o número é palíndromo

    Autor: "Let's learn"

    Tue Nov 12 20:12:41 2017

    #include stdio.h
    #include locale.h
    #include time.h */


    #include
    #include
    #include

    int extraiDigito_4 (const float imputNumber, float inputDigitos[4]);
    int extraiDigito_3 (const float imputNumber, float inputDigitos[4]);
    int extraiDigito_2 (const float imputNumber, float inputDigitos[4]);
    int extraiDigito_1 (const float imputNumber, float inputDigitos[4]);
    int palindromo (float inputDigitos[4]);

    int main(void)
    {
    setlocale(LC_ALL, "Portuguese");
    float number;
    float digitos[4];
    do
    {
    printf("\n\t Verificando se um número é palíndromo... (Maximo de 4 digitos e deve ser positivo)\n");
    printf("\t Entre com o numero a ser verificado. \n\t Ou '0' (zero) para sair ");
    scanf("%f", &number);
    if (( number < 0 ) || ( number > 9999 ))
    {
    printf("\n\n\t O Numero digitado é = %.0f \n", number);
    printf("\n\t O numero deve a ser positivo e com no maximo 4 digitos. \n");
    printf("\t Tente de novo! \n\n");
    system("pause");
    system("cls || clear");
    }
    else if (number == 0)
    continue;
    else
    {
    printf("\n\n\t O Numero digitado é = %.0f \n", number);
    extraiDigito_1( number, digitos );
    extraiDigito_2( number, digitos );
    extraiDigito_3( number, digitos );
    extraiDigito_4( number, digitos );
    palindromo ( digitos );
    printf("\n\n");
    system("pause");
    system("cls || clear");
    }

    }while (number != 0);
    }

    int extraiDigito_4 (const float imputNumber, float inputDigitos[4])
    {
    inputDigitos[3] = ((imputNumber/10) - floor(imputNumber/10))*10;
    printf("\n\t Digito 4 = %.0f \n", inputDigitos[3] );
    }

    int extraiDigito_3 (const float imputNumber, float inputDigitos[4])
    {
    inputDigitos[2] = floor(((imputNumber/100) - floor(imputNumber/100))*10);
    printf("\n\t Digito 3 = %.0f", inputDigitos[2] );
    }

    int extraiDigito_2 (const float imputNumber, float inputDigitos[4])
    {
    printf("\n\n Extraindo Digito 2...");
    printf("\n imputNumber = %f", imputNumber);
    printf("\n (imputNumber/1000) = %f", (imputNumber/1000));
    printf("\n (floor(imputNumber/1000)) = %f", floor(imputNumber/1000));
    printf("\n (((imputNumber/1000) - floor(imputNumber/1000))*10) = %f", (((imputNumber/1000) - floor(imputNumber/1000))*10));
    printf("\n floor(((imputNumber/1000) - floor(imputNumber/1000))*10) = %f", floor(((imputNumber/1000) - floor(imputNumber/1000))*10));
    printf("\n floor (2.0) = %f", floor (2.0) );
    printf("\n ((1.2 - 1)*10) = %f", ((1.2 - 1)*10) );
    printf("\n floor ((1.2 - 1)*10) = %f", floor((1.2 - 1)*10) );
    inputDigitos[1] = floor(((imputNumber/1000) - floor(imputNumber/1000))*10);
    printf("\n\n\t Digito 2 = %.0f", inputDigitos[1] );
    }

    int extraiDigito_1 (const float imputNumber, float inputDigitos[4])
    {
    inputDigitos[0] = floor(((imputNumber/10000) - floor(imputNumber/10000))*10);
    printf("\n\t Digito 1 = %.0f", inputDigitos[0] );
    }

    int palindromo (float inputDigitos[4])
    {
    if ((inputDigitos[0] == inputDigitos[3]) && (inputDigitos[1] == inputDigitos[2]))
    printf("\n\t O número é palíndromo.");
    else if ((inputDigitos[0] == 0) && (inputDigitos[1] == inputDigitos[3]))
    printf("\n\t O número é palíndromo.");
    else if ((inputDigitos[0] == 0) && (inputDigitos[0] == 0) && (inputDigitos[2] == inputDigitos[3]))
    printf("\n\t O número é palíndromo.");
    else
    printf("\n\t O número NÂO é palíndromo. \n\n");
    }

    ResponderExcluir
  39. Resolução desafio 1 em c.

    #include
    #include
    #include

    int main(){
    int numero,
    i = 10,
    aux = 1,
    tamanho = 1;

    printf("Digite um numero:\n");
    scanf("%i",&numero);
    // encontrando o tamanho do número
    while(i == pow(10,tamanho)){
    if( (numero/i) >= 10){
    i = i * 10;
    tamanho++;
    }else{
    tamanho++;
    }
    }
    // transformando o numero em um vetor
    int vet[tamanho];

    for(int j=0;j<tamanho;j++){
    vet[j] = numero/i;
    numero = numero%i;
    i = i/10;
    }

    //verificando se é palindromo
    for(int j=0;j<(tamanho/2);j++){
    if(vet[j] != vet[(tamanho-1)-j]) aux = 0;
    }

    if(aux){
    printf("O numero e palindromo");
    }else{
    printf("O numero nao e palindromo");
    }

    return 0;
    }

    ResponderExcluir
  40. Resolução do desafio 1:
    #include

    void valores(int vetor[]){
    int i;
    printf("Digite o numero em partes, separado por espacos\tEXEMPLO 234 = 2 3 4\n");
    for(i=0;i<4;i++){
    printf("Digite o valor %d: ",i);
    scanf("%d",&vetor[i]);
    }
    }

    void comparacao(int vetor[]){
    if(vetor[0]==vetor[3] && vetor[1]==vetor[2]){
    printf("\nPalindromo!\n");
    }
    else{
    printf("\nNao eh palindromo!\n");
    }
    }

    int main(){
    int vetor[4];
    valores(vetor);
    comparacao(vetor);
    }

    ResponderExcluir

É quase impossível criar centenas de páginas voltadas para programação C e não cometer algum erro.

- Se notar algum conceito, letra ou trecho de código errado, deixe sua correção

- Se perceber uma maneira melhor ou mais eficiente de fazer algo, deixe sua ideia

- Se algo não ficar claro ou for confuso, nos avise

Aos poucos vamos aumentando e melhorando a qualidade de nosso material, e para isso contamos com sua ajuda.