Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Ponteiros, Referências e Memória

Faça um programa C que usa a aritmética de ponteiros para acessar os elementos de um vetor de inteiros. Você deverá usar a aritmética de ponteiros tanto na atribuição - Exercícios Resolvidos de C

Quantidade de visualizações: 729 vezes
Pergunta/Tarefa:

Faça um programa C que usa a aritmética de ponteiros para acessar os elementos de um vetor de inteiros. Você deverá usar a aritmética de ponteiros tanto na atribuição de valores aos elementos do vetor quando na leitura dos valores armazenados nos elementos.

Sua saída deverá ser parecida com:

Informe o 1.o número: 6
Informe o 2.o número: 3
Informe o 3.o número: 4
Informe o 4.o número: 1
Informe o 5.o número: 9

Os valores informados foram:

6 3 4 1 9
Resposta/Solução:

Veja a resolução comentada deste exercício usando C console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>   
   
int main(int argc, char *argv[]){
  int valores[5]; // um vetor para guardar 5 inteiros
  int i; // variável de controle dos laços
  
  setlocale(LC_ALL,""); // para acentos do português
	
  // vamos pedir para o usuário informar 5 números inteiros
  for(i = 0; i < 5; i++){
    printf("Informe o %d.o número: ", (i + 1));
    scanf("%d", (valores + i)); // note a aritmética de ponteiros aqui
  }
  
  // agora vamos percorrer o vetor e mostrar os valores de seus
  // elementos
  printf("\nOs valores informados foram:\n\n");
  
  for(i = 0; i < 5; ++i){
    printf("%d ", *(valores + i));
  }
  
  printf("\n\n");
  system("pause");
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Strings e Caracteres

Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas

Quantidade de visualizações: 8777 vezes
A linguagem C padrão não possui uma função para transformar
todas as letras de uma palavra, frase ou texto em maiúsculas, embora alguns compiladores a forneça.

O que temos em C padrão é a função:

	
int toupper(int c);
que permite transformar um caractere em seu correspondente
maiúsculo. Podemos tirar vantagem disso e escrever uma
função strtoupper().

Veja a listagem logo abaixo (uma boa oportunidade para praticar ponteiros em C):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

void strtoupper(char *string){
  while(*string){
    *string = toupper(*string);
    string++;
  }
}

int main(int argc, char *argv[])
{
  char frase[] = "Programando em C";
  printf("Frase normal: %s\n", frase);
  
  strtoupper(frase);
  
  printf("Em letras maiusculas: %s\n\n", frase);
  
  system("PAUSE");	
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Frase normal: Programando em C
Em letras maiusculas: PROGRAMANDO EM C


C ::: Dicas & Truques ::: Strings e Caracteres

Como verificar se uma string é igual, maior ou menor que outra em C usando a função strcmp()

Quantidade de visualizações: 22338 vezes
A função strcmp() da linguagem C pode ser usada para verificar se uma string é igual, maior ou menor que outra.

Esta função, presente no header string.h aceita duas strings e retorna um valor inteiro: 0 se as strings forem iguais; maior que 0 se a primeira string for maior que a segunda e menor que 0 se a primeira string for menor que a segunda.

Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[]){
  char palavra1[] = "Java";
  char palavra2[] = "JavaScript";

  if(strcmp(palavra1, palavra2) == 0){
    printf("As palavras sao iguais");
  }
  else if(strcmp(palavra1, palavra2) > 0){
    printf("A primeira string e maior que a segunda");
  }
  else if(strcmp(palavra1, palavra2) < 0){
    printf("A segunda string e maior que a primeira");
  }

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

A segunda string é maior que a primeira.


C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 913 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código C, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código C que declara uma matriz 2x3 e gera a matriz transposta 3x2:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português
	
  // vamos declarar e construir uma matrix
  // 2x3 (duas linhas e três colunas
  int matriz[2][3] = {{3, 5, 7}, {1, 2, 9}};
  int i, j;  
    
  // vamos exibir os valores da matriz
  printf("Elementos da matriz:\n");
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      printf("%5d  ", matriz[i][j]);
    }
    printf("\n");
  }
    
  // como temos uma matriz 2x3, a transposta deverá ser
  // 3x2, ou seja, três linhas e duas colunas
  int linhas = 3; // linhas da matriz original
  int colunas = 2; // colunas da matriz original
  int transposta[linhas][colunas]; 
    
  // e agora vamos preencher a matriz transposta
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      transposta[j][i] = matriz[i][j];
    }
  }
    
  // vamos exibir os valores da matriz transposta
  printf("Elementos da matriz transposta:\n");
  for(i = 0; i < 3; i++){
    for(j = 0; j < 2; j++){
      printf("%5d  ", transposta[i][j]);
    }
    printf("\n");
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  



Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As fundações rasas são executadas nas camadas mais superficiais do solo, geralmente em profundidades inferiores a 2m e são utilizadas comumente em obras de pequeno ou médio porte.

De acordo com a norma ABNT NBR 6122: 2010 (Projeto e execução de fundações), no que se refere às fundações superficiais rasas ou diretas, assinale a alternativa correta.

A) No dimensionamento de fundação superficial solicitada por carga excêntrica, a área comprimida deve ser de, no mínimo, dois terços da área total da fundação.

B) Levando em consideração o custo-benefício de uma obra, recomenda-se que a profundidade mínima para assentamento de uma sapata seja de 1m.

C) As partes da fundação rasa em contato com o solo devem ser concretadas sobre um lastro de concreto estrutural igual a 2,5cm de espessura.

D) No caso de fundações próximas, porém situadas em cotas diferentes, a fundação situada em cota mais alta deve sempre ser executada primeiro.

E) As sapatas isoladas não devem ter dimensões em planta inferiores a 1m. Se esse critério não puder ser utilizado, deve-se adotar outro tipo de fundação.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Introdução à Ética

Como e por que julgamos que uma ação é correta ou não? Quais os critérios que devem ser utilizados para tal? Várias respostas são, hoje, dadas a essas perguntas.

Podemos afirmar que a ação correta é aquela que:

A) Considera a felicidade dos grupos prevalecentes, como as elites.

B) É praticada por um agente inerentemente bom e sem influência social

C) Está de acordo com regras próprias de grupos minoritários com interesses duvidosos.

D) É considerada a melhor ação pela subjetividade do sujeito em suas reflexões.

E) É aquela que está adequada às leis, regras e normas legais do Estado.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vantagens e Desvantagens do Concreto Armado

A escolha do sistema estrutural a ser adotado para a edificação a ser executada em determinada região passa pelo estudo da viabilidade técnica e, na sequência, da viabilidade econômica. A viabilidade técnica irá considerar, entre outros itens, as vantagens e desvantagens dos sistemas em análise.

Com relação às desvantagens da utilização do concreto armado, analise as afirmações a seguir e indique V para a(s) verdadeira(s) e F para a(s) falsa(s):

( ) A necessidade da utilização de um sistema de formas e escoramentos é uma desvantagem das estruturas de concreto armado que pode ser evitada pela utilização de elementos pré-moldados.

( ) O fato de o concreto produzido não atingir a resistência prevista em projeto é uma desvantagem que não pode ser evitada.

( ) A fissuração de elementos de concreto armado é uma desvantagem inevitável e não pode ser controlada.

( ) Seu elevado peso próprio é uma das principais desvantagens no concreto armado, pois esse fato pode ser penalizante na execução.

Assinale a alternativa que contém a sequência correta.

A) V - V - F - F.

B) F - V - F - V.

C) F - V - F - F.

D) V - F - F - F.

E) F - V - V - F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Tipos de Escoamentos

Um conduto cilíndrico interliga dois tanques de cerveja artesanal a uma velocidade constante e com diferença de 10 metros entre suas cotas. O fluido dentro dos tanques é mantido a uma pressão de 101.325 Pa e ocupa 95% da área do conduto quando transportado. Defina que tipo de escoamento ocorre nesse conduto e quais são os principais parâmetros que devem ser levados em consideração em seu cálculo de dimensionamento ou verificação.

A) Ocorre escoamento em conduto forçado, pois o fluido está confinado sob uma pressão diferente da atmosférica. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento.

B) Ocorre escoamento à superfície livre, pois, mesmo tendo uma pressão diferente da atmosférica, o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento.

C) Ocorre escoamento em conduto forçado, pois 95% preenchem praticamente toda a área do contorno sólido que confina a cerveja. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques.

D) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a energia total do escoamento.

E) Ocorre escoamento à superfície livre, pois 101.325 Pa é o valor médio da pressão atmosférica, além disso o conduto não está completamente preenchido pelo fluido. Os principais parâmetros para cálculo do conduto são a vazão que se deseja escoar e a diferença de cota entre os tanques.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

Normalmente, o projeto de calha é feito em duas etapas: primeiramente, estima-se o escoamento superficial a partir do método racional e, em sequência, consulta-se uma calha com capacidade hidráulica satisfatória. Em alguns casos, o projetista deve estar apto a calcular a seção necessária, fazendo, assim, a aplicação dos conhecimentos obtidos.

Uma calha em aço galvanizado com coeficiente de rugosidade n = 0,011 deverá ser instalada com declividade 0,5%. Sabendo que a seção adotada é retangular com base de 10cm e altura de 20cm, qual a capacidade hidráulica dessa calha em L/s?

A) 132,45L/s.

B) 165,25L/s.

C) 150,40L/s.

D) 180,61L/s.

E) 194,27L/s.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 43 usuários muito felizes estudando em nosso site.