Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Escreva um programa C++ para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array - Exercícios Resolvidos de C++

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

Dado o seguinte vetor de inteiros:

// vamos declarar e construir um vetor de 8 inteiros
int valores[] = {0, 3, 0, 5, 7, 4, 0, 9};
Escreva um programa C++ para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
Resposta/Solução:

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

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço do...while da linguagem C++ - Apostila C++ para iniciantes

Quantidade de visualizações: 24501 vezes
O laço do..while é usado quando queremos executar um bloco de códigos repetidamente ENQUANTO uma condição for satisfeita. Porém, ao contrário do laço while, o laço do..while é sempre executado no mínimo uma vez, visto que a condição é testada antes da segunda interação, ou seja, o teste só ocorre no final da interação atual. Veja:

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

do{
  bloco de instruções
}while(condição);

Veja um exemplo de um laço do..while que conta de 10 à 0:

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

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço do..while que conta de
  // 10 até 0
  int valor = 10;

  do{
    cout << valor << "\n";
    valor--;
  }while(valor >= 0);

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios

Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI

Quantidade de visualizações: 9463 vezes
Nesta dica mostrarei como chamar, a partir de um programa C++, a função GetCurrentDirectory() da API do Windows com o propósito de obter o diretório atual, ou seja, o diretório de trabalho da nossa aplicação. Esta função é declarada no header winbase.h (que vem junto quando fazemos include do header windows.h).

Veja o exemplo completo:

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

#include <cstdlib>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // buffer que receberá o nome do diretório
  TCHAR szDirAtual[MAX_PATH];
 
  // chama a função GetCurrentDirectory
  GetCurrentDirectory(MAX_PATH, szDirAtual);
 
  // Exibe o resultado
  cout << "O diretório atual é " << szDirAtual << "\n\n";
 
  system("PAUSE");
  return EXIT_SUCCESS;
}

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

O diretório atual é C:\estudos_c++


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

Como comparar strings em C++ usando o método compare() da classe String

Quantidade de visualizações: 22661 vezes
Nesta dica mostrarei como podemos usar a função compare() da classe String da linguagem C++ para comparar duas palavras, frases ou textos.

Se as duas strings forem iguais, o valor 0 é retornado. Um valor diferente de 0 indica que as duas strings não são iguais. Lembre-se de que esta função distingue entre maiúsculas e minúsculas.

Veja como esta função pode ser usada:

int compare(const string& str) const;
int compare(const char* s) const;

Podemos chamar esta função de duas formas:

a) Fornecendo uma variável como parâmetro;
b) Fornecendo uma string entre aspas.

Veja agora um exemplo C++ completo demonstrando o seu uso:

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

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  string str1("Java");
  string str2("JAVA");

  if(str1.compare(str2) == 0){
    cout << str1 << " é igual a " << str2 << "\n";
  }
  else{
    cout << str1 << " é diferente de " << str2 << "\n";
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Java é diferente de JAVA


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á 8 usuários muito felizes estudando em nosso site.