Exibir mensagens

Esta seção lhe permite ver todas as mensagens deste membro. Note que você só pode ver as mensagens das áreas às quais você tem acesso.


Tópicos - Jefferson

Páginas: « 1 2 3 4 5 6 7 »
11
Estrutura de Dados / Aula 4 - Modularização de Códigos
« Online: Março 17, 2019, 08:43:14 pm »
Citar
Faça uma calculadora com soma, divisão, multiplicação e subtração. Permita ao usuário calcular quantas vezes ele quiser até que ele digite uma opção para sair no menu do seu programa.

Código: C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
#include <iostream>#include <locale.h>#include <strings.h>#include <sstream> //usado na validação de números using std::cout;using std::cin;using std::stof;using std::string;using std::stringstream;  float somar (float a, float b);float subtrair (float a, float b);float dividir (float a, float b);float multiplicar (float a, float b); int main (){    setlocale (LC_ALL,"");    char opcao=' ';    string temp="";    float num1=0, num2=0;            cout << "Este programa realiza operações matémáticas simples\n";        cout << "Com dois números reais.\n";            while (true){         cout << "\nEscolha uma operação:\n\n";        cout << "1 - Somar\n";        cout << "2 - Subtrair\n";        cout << "3 - Dividir\n";        cout << "4 - Multiplicar\n";        cout << "s - Sair do programa\n";                cin >> opcao;        if (opcao=='s') {            cout << "Finalizado pelo usuário.";            break;        };                 cout << "Digite 'm' para voltar ao menu\n";        cout << "Use vírgula como separador decimal.\n";        while (true){            while (true){                cout << "Digite o primeiro número real: ";                cin >> temp;                if (temp=="m") break; //saio do primeiro                stringstream myStream(temp);                if (myStream >>num1) break; //sucesso na conversão                else                cout << "\nNúmero inválido. Tente de novo." << '\n';            };            if (temp=="m") break; //saio do segundo while                        while (true){                cout << "Digite o segundo número real: ";                cin >> temp;                if (temp=="m") break;                stringstream myStream(temp);                if (myStream >>num2) break; //sucesso na conversão                else                cout << "\nNúmero inválido. Tente de novo." << '\n';            };            if (temp=="m") break;             if (opcao=='1') somar(num1, num2);            if (opcao=='2') subtrair(num1, num2);            if (opcao=='3') dividir(num1, num2);            if (opcao=='4') multiplicar(num1, num2);        };            };     return 0;}  float somar (float a, float b){  cout << "O resultado da soma de " << a << " e " << b << " é: " << a+b <<"\n\n"; };float subtrair (float a, float b){  cout << "O resultado da subtração de " << a << " e " << b << " é: " << a-b <<"\n\n"; };float dividir (float a, float b){  if (b==0) cout << "Não é possível dividir por zero. \n";     else  cout << "O resultado da divisão de " << a << " e " << b << " é: " << a/b <<"\n\n"; };float multiplicar (float a, float b){  cout << "O resultado da multiplicação de " << a << " e " << b << " é: " << a*b <<"\n\n";};

12
Introdução à Programação / Problemas e erros ao usar o Code::Blocks
« Online: Março 17, 2019, 02:20:44 am »
fatal error: iostream: No such file or directory

Certifique-se de salvou o arquivo com a extensão .cpp. O Code::Blocks diferencia C de C++ pela extensão, mas por default salva com a extensão .c.



error: 'stoi' was not declared in this scope

E você tem certeza de que fez o include correto.

Vá em Settings -> Compiler e marque a opção "Have g++ follow the C++11..."





Opções de debug desabilitadas



Seu programa precisa fazer parte de um projeto




ERROR: You need to specify a debugger program in the debuggers's settings.
(For MinGW compilers, it's 'gdb.exe' (without the quotes))
(For MSVC compilers, it's 'cdb.exe' (without the quotes))


Vá em Settings -> Debugger -> GDB/CDB debugger -> default
E coloque em Executable Path "C:\Program Files (x86)\CodeBlocks\MinGW\gdb32\bin\gdb32.exe" (confira o caminho onde o Code::Blocks está instalado na sua máquina.

Note que a mensagem de erro é incompleta ou equivocada. Ela faz você pensar que o arquivo a achar precisa ser gdb.exe quando o próprio Code::Blocks instala o gdb32.exe. Talvez seja por isso que o Code::Blocks não está achando o próprio debugger automaticamente.


O debugador não pára nos breakpoints. Janela watches sempre vazia.

Certifique-se de que o caminho inteiro do seu projeto não tenha espaços ou acentuação.

13
Baixe o instalador do Code::Blocks. É preciso tomar cuidado com essa parte porque várias versões são oferecidas para download. É preciso baixar a versão que vem com o compilador Mingw versão C++. Esta versão tem o seguinte nome de arquivo hoje:

codeblocks-17.12mingw-setup.exe

Você vai na página de download do Code::Blocks e baixa a versão correta. Para simplificar eu vou dar também o link direto para baixar essa versão no sourceforge.

Execute o instalador



Clique em Next



Clique em "I agree"



Role a lista e certifique-se de que tem a opção MinGW Compiler Suite. Se não tiver você apesar dos meus avisos baixou o arquivo errado. Volte ao início.
Se tiver, clique em Next.



Não mude a pasta de instalação a menos que saiba o que está fazendo. Copie esse caminho para o bloco de notas, porque você poderá precisar lembrar desse caminho no final da instalação. Clique em Install.



Aguarde enquanto os arquivos são copiados.



Clique em Sim para iniciar o Code::Blocks.



Aqui ocorre a detecção automática de compiladores. Se não estiver desse jeito com status "detected" para o GNU GCC Compiler e mais abaixo dizendo que este é o "Current defaul compiler" há algo errrado.

Se estiver do jeito que mostra a janela, clique em OK.



Clique em Finish para concluir a instalação. Você pode ter que procurar por essa janela por trás da janela do Code::Blocks.



Aqui está perguntando o que fazer com as associações de arquivo. O padrão é deixar como está, mas se você quiser que ao clicar em um arquivo C++ (extensão .cpp) já abra direto no Code::Blocks, selecione a terceira opção.

Clique em OK.



No Code::Blocks, vá em Settings -> Debugger ->GDB/CDB debugger ->default (janela acima)

E coloque em "Executable Path" o caminho

"C:\Program Files (x86)\CodeBlocks\MinGW\gdb32\bin\gdb32.exe" (se sua versão do Windows for de 64 bits)
ou
"C:\Program Files\CodeBlocks\MinGW\gdb32\bin\gdb32.exe" (se sua versão do Windows for de 32 bits)

Confira o caminho certo na cópia que eu eu pedi para você fazer no bloco de notas.

Clique em OK

O Code::Blocks deve estar pronto para compilar e debugar seus programas.

14
Estrutura de Dados / Aula 3 - Exercícios
« Online: Março 11, 2019, 06:25:37 pm »
Exercício 1

Citar
Faça um programa para gerar automaticamente numeros entre 0 e 99 de uma
cartela de bingo. Sabendo que cada cartela deverá conter 5 linhas de 5 números,
gere estes dados de modo a não ter números repetidos dentro das cartelas. O
programa deve exibir na tela a cartela gerada. (Usar Matriz)


O programa abaixo ainda precisa de alterações. Ele não usa o que a cadeira chama de "matriz"

Código: C++
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
#include <iostream>using std::cout;using std::cin; #include <iomanip> //time#include <algorithm> //sort //no dev c++ para isso ser aceito é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"#include <random> #include <locale.h> //necessário para usar setlocale  int main(){     int a[24];    int novoValor;     setlocale(LC_ALL,"");  //me permite usar acentuação        // Preparo o gerador de número randômicos para me fornecer números na faixa de -10 a 10    std::mt19937 eng(time(NULL)); // Alimento o gerador com a hora atual para me certificar que cada execução seja diferente    std::uniform_int_distribution<> distr(0, 99); // defino faixa    bool found=false;    for (int i=0; i<25;i++){        novoValor=distr(eng);         found=false;         //me certifico de não armazenar um número que já exista (os 25 números da cartela são aleatórios e DIFERENTES)        for (int j=0; j<i; j++){            if (a[j]==novoValor) found=true;//ToDO: fazer sair do laço        }        if (!found) {            a[i]=novoValor;        }else        i--; //repito esta rodada     }        //É uma cartela de bingo. Seus clientes vão xingar você se os números não estiverem em ordem crescente    std::sort(std::begin(a), std::end(a));        cout << '\n';    cout << "Sua Cartela:\n";    cout << '\n';     int i=0;    for (int linha=1; linha<6; linha++){                for (int coluna=1; coluna<6; coluna++){            //cout <<" " <<a[i];            printf(" %02d", a[i]); //me certifico de que "3" seja exibido como "03" para não bagunçar a formatação            i++;        }         cout  << '\n';    }  return 0;} 

15
Programação 1 / Aula 3
« Online: Março 04, 2019, 05:37:50 pm »
Exercício 1
Citar
Construa duas classes: Pessoa e Carro.
Coloque todos os atributos e métodos que você vislumbrar nestas classes.

Neste exercício ainda não fomos apresentados ao conceito de encapsulamento então eu não usei nenhum modificador de acesso.

Código: Java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
public class Exercicio1 { /* O enunciado é vago e acaba dando mais trabalho que algo específico * O que colocar aqui? Propriedades físicas apenas? atributos como religião, profissão, etc? * ou propriedades provocadas por doenças crônicas como cardíaco, asmático, epilético, hipertenso e diabético? * Cadeirante? requer correção visual?* E os medos? claustrofóbico, agorafóbico, acrofóbico, etc?* Eu vou colocar apenas algumas como exercício, porque quanto mais eu penso mais propriedades possíveis aparecem        * * Além disso, eu não consigo imaginar um "método" para "pessoa". Talvez se fosse "androide"...*/public class Pessoa {                String nome;        String sexo; //biologicamente só existem dois, mas usar "true" e "false" aqui gera um polêmica desnecessária        String identidadeSexual; //Melhor criar outras propriedades do que bagunçar sexo        String prefSexual; //O Tinder tem algo assim mas chama de "interesse em"        short idade;        String TipoSanguineo;        //temperatura e pressão são itens tão facilmente mensuráveis que realmente podem constar em alguns cadastros médicos (urgência em hospitais);        short temperatura;        short pressao;        boolean cadeirante;        String corOlhos;        String corPele;        String corCabelos;        float peso;        float altura;        String estadoCivil;        String profissao;        String escolaridade;        String religiao; //relevante em um cadastro militar (como será enterrado?)        String tatuagens; //relevante em um cadstro policial} //Algumas propriedades de um carro só são importantes do ponto de vista comercial/legal. //Outras só são importantes do ponto de vista da automação//Não consigo pensar em nenhum método que não seja de automação public class Carro {                String fabricante;        String modelo;        String placa;        String codRenavam;        short ano;        String cor;        byte numPortas;        boolean arCond;        boolean travasElet;        boolean vidrosElet;        boolean transmissao;        String tipoCombustivel; //alcool, gasolina, eletrico, hibrido...                //estes atributos precisam ser definidos como private        //mas não chegamos a essa parte da aula ainda        short velocidade;        short RPM;        short tempMotor;        short tempInterna;        short combustivelRestante;        short posicaoChave;        boolean statusAlternador;        boolean statusLubrificante;        boolean statusFreioMao;        boolean statusFreio;                short getVelocidade () {return velocidade;};        short getRPM () {return RPM;};        short getTempMotor () {return tempMotor;};        short getTempInterna () {return tempInterna;};        short getCombustivelRestante () {return combustivelRestante;};          boolean getStatusAlternador () {return statusAlternador;};        boolean getStatusLubrificante () {return statusLubrificante;};        boolean getStatusFreioMaio () {return statusFreioMao;};        boolean getStatusFreio () {return statusFreio;};        short getPosicaoChave() {return posicaoChave;}; //0=desligado, 1=ligado, 2=partida                void acelerar (int valor) {}; //valores negativos implicam frenagem        void frear () {}; //imediatamente        void abrirPorta (byte numPorta) {};        void acionarTravas (boolean locked) {}; //estou supondo que todas as travas sejam automaticamente ativadas ou desativadas ao memso tempo                void engrenarMarcha (byte numMarcha) {};                        void ligarLimpador (byte numLimpador, byte velLimpador) {};//velLimpador=0 desliga o limpador        void ligarFarois (byte numFarol, byte intensidade) {};//0=desligado        void ligarLuzAlta (boolean x) {};               void ligarLanterna (byte numLanterna) {};               void ligarDesembacador (byte numDesembacador) {};                       void ligarArCondicionado (byte intensidade) {}; //0=desligado        void ligarAlerta (boolean x){};        void acionarBuzina (boolean x){};        void LigarAlarme (boolean x){};        void AcionarVidroElet (byte numVidro, boolean subir){}; //subir=false desce     }} 

Versão menos elaborada:

Código: Java
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
public class Exercicio1 { //O que colocar aqui? Propriedades físicas apenas? //Ou atributos como religião, profissão, etc //Eu não consigo imaginar um "método" para "pessoa". Ficaria mais simples se fosse "androide". public class Pessoa {                String nome;        boolean sexo; //biologicamente só existem dois        String identidadeSexual; //Melhor criar outras propriedades do que bagunçar sexo        String prefSexual; //Melhor criar outras propriedades do que bagunçar sexo        short idade;        String corOlhos;        String corPele;        String corCabelos;        float peso;        float altura;        String estadoCivil;        String profissao;        String escolaridade;        String religiao;} //Algumas propriedades de um carro só são importantes do ponto de vista comercial/legal. //Outras só são importantes do ponto de vista da automação//Não consigo pensar em nenhum método que não seja de automação public class Carro {                String modelo;        String placa;        String codRenavam;        short ano;        String cor;        byte numPortas;        boolean arCond;        boolean travasElet;        boolean vidrosElet;        boolean transmissao;        String combustivel; //alcool, gasolina, eletrico, hibrido...                void acelerar (int valor) {}; //valores negativos implicam frenagem        void frear () {}; //imediatamente        void abrirPorta (byte numPorta) {};        void acionarTravas (boolean locked) {}; //estou supondo que todas as travas sejam automaticamente ativadas ou desativadas ao memso tempo                void engrenarMarcha (byte numMarcha) {};                int getVelocidade () {};        int getRPM () {};        int getTempMotor () {};        int getTempInterna () {};        int getCombustivelRestante () {};               boolean getStatusAlternador () {};        boolean getStatusLubrificante () {};        boolean getStatusFreioMaio () {};        boolean getStatusFreio () {};         int getPosicaoChave() {}; //0=desligado, 1=ligado, 2=partida        void ligarLimpador (byte numLimpador, byte velLimpador) {};//velLimpador=0 desliga o limpador        void ligarFarois (byte numFarol, byte intensidade) {};//0=desligado        void ligarLuzAlta (boolean x) {};               void ligarLanterna (byte numLanterna) {};               void ligarDesembacador (byte numDesembacador) {};                       void ligarArCondicionado (byte intensidade) {}; //0=desligado        void ligarAlerta (boolean x){};        void acionarBuzina (boolean x){};        void LigarAlarme (boolean x){};        void AcionarVidroElet (byte numVidro, boolean subir){}; //subir=false desce     }} 

16
Programação 1 / Aula 2
« Online: Março 04, 2019, 03:37:23 am »
Exercício 1

Faça um programa que leia 4 números do usuário e os imprima em ordem crescente. Utilize qualquer método de escrita e leitura que desejar.

Solução usando uma função própria de Insertion Sort:
Baseada em exemplo dado aqui.

Código: Java
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
import java.util.Scanner;public class principal {         public static void main(String[] args) {                     Scanner s=new Scanner(System.in);                 System.out.println("Número de elementos a ordenar?");                 int n=s.nextInt();                 int matriz[]=new int[n];                 System.out.println("Entre os elementos com [ENTER] após cada um: ");                 for(int i=0;i<n;i++){                    matriz[i]=s.nextInt();                 }                s.close(); //não preciso mais do scanner;                insertionSort(matriz);                System.out.print("Matriz ordenada: ");                imprimirMatriz(matriz);        }         private static void imprimirMatriz(int[] n) {             for (int i = 0; i < n.length; i++) {               System.out.print(n[i]);               if (i < n.length-1) System.out.print(", "); //imprimo exceto após o último valor            }            System.out.println("\n");        }         public static void insertionSort(int m[]) {            for (int j = 1; j < m.length; j++) {                int key = m[j];                int i = j-1;                while ( (i > -1) && ( m [i] > key ) ) {                    m [i+1] = m [i];                    i--;                }                m[i+1] = key;                //printNumbers(array); //imprime enquanto está ordenando            }        }}  

Exemplo de execução do programa:


Número de elementos a ordenar?
4
Entre os elementos com [ENTER] após cada um:
45
34
67
89
Matriz ordenada: 34, 45, 67, 89


Mas isso pode ser simplificado ainda mais com o uso das funções já existentes na classe Array:

Código: Java
12345678910111213141516171819202122232425262728
import java.util.Scanner;import java.util.Arrays; public class SortA {         public static void main(String[] args) {                     Scanner s=new Scanner(System.in);                                System.out.println("Número de elementos a ordenar?");                 int n=s.nextInt();                 int matriz[]=new int[n];                 System.out.println("Entre os elementos com [ENTER] após cada um: ");                 for(int i=0;i<n;i++){                    matriz[i]=s.nextInt();                }                                s.close(); //não preciso mais do scanner;                Arrays.sort(matriz);                System.out.print("Matriz ordenada: ");                System.out.println(Arrays.toString(matriz));        }} 

Exemplo de execução do programa:


Número de elementos a ordenar?
4
Entre os elementos com [ENTER] após cada um:
34
56
75
12
Matriz ordenada: [12, 34, 56, 75]

17
Estrutura de Dados / Problemas com formatação de código no fórum
« Online: Março 03, 2019, 02:40:32 am »
Por que quando você copia código de outro lugar e cola no fórum, a indentação fica bagunçada?

Quando você formata, por exemplo, no Dev-C++, pode inadvertidamente usar uma combinação de TAB e ESPAÇO para indentar o código. Você ajusta essa combinação para a indentação ficar correta no editor, mas ao colar o código aqui o seu código vai parecer bagunçado.

Isso se deve ao fato de que o fórum  considera que cada caractere TAB é equivalente a oito caracteres ESPAÇO, quando o DevC++, por exemplo, usa o espaçamento de quatro.

Mesmo ignorando a bagunça, oito espaços para cada TAB gera uma indentação que considero excessiva. Eu ainda não sei como corrigir isso aqui no fórum, mas para prevenir que ocorra deixei desligada no Dev-C++  a opção Tools -> Editor Options -> "Use tab character". Isso supostamente converte cada TAB para um número fixo de espaços, o que vai fazer o código ficar igualmente indentado aqui e em qualquer outro lugar.

Notar que isso só afeta os TABs inseridos após essa configuração. Os caracteres já existentes no arquivo continuam.

Para trocar os TABs já existentes por espaços automaticamente usando o Dev-C++, use Search -> Replace, em Text to find tecle TAB e em Replace with tecle quatro espaços.

Para checar onde existem TABs no código, habilite Tools -> Editor Options -> Show hidden line characters

18
Estrutura de Dados / Aula 2 - Structs
« Online: Março 02, 2019, 02:59:04 am »
Exercício 1

1) Defina uma estrutura que irá representar bandas de música. Essa estrutura deve ter o nome da banda, que tipo de música ela toca, o número de integrantes e em que posição do ranking essa banda está dentre as suas 5 bandas favoritas.

Código: C++
1234567
struct Bandas{    string nome;    string genero;    unsigned int ranking;    unsigned int integrantes;}; 

Exercício 2

2) Construa uma declaração de struct em C++ que possa acomodar dados provenientes de uma tabela conforme o exemplo a seguir EXEMPLO NO PDF ORIGINAL:
Código: C++
1234567891011121314
struct cliente{    string nome;    string logradouro;    unsigned int numero;    string bairro;    string complemento;    string cidade;    string CEP;    string tel1;    string tel2;    string tel3; }; 

Exercício 3
3) Usando a estrutura da questão 1, crie 5 bandas, posicione-as no ranking e imprima, na ordem correta do ranking, todas as informações de cada banda. Por exemplo:
Nome da Banda: Banda Tal
Tipo de Música: Pop
Quantidade de integrantes: 10
Posição no ranking: 1
Código: C++
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
#include <iostream>#include <string.h>#include <locale.h> //necessário para usar setlocale using namespace std; int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     struct Bandas{        string nome;        string genero;        unsigned int ranking;        unsigned int integrantes;     };    Bandas banda[5];     // são estas declarações que causam o Warning "extended initializer lists only available with..."    //Para eliminar os warnings no dev c++ é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"    banda[0] = {"Aerosmith", "Rock",5, 9};    banda[1] = {"Fall Out Boy", "Alternative Rock",3, 8};    banda[2] = {"Coldplay", "Pop Rock",4, 5};    banda[3] = {"Maroon 5", "Pop Music",2, 8};    banda[4] = {"Bon Jovi", "Pop Rock",1, 14};     for (int i=1;i<6;i++){//Procuro sequencialmente pelo ranking        for (int j=0;j<5; j++){//em cada um dos registros            if (banda[j].ranking==i){ //e quando encontrar o correto imprimo            //    cout << "Banda " << i << ":" << '\n';                cout << "Ranking: "<< banda[j].ranking << '\n';                cout << "Nome: " << banda[j].nome << '\n';                cout << "Genero: " << banda[j].genero << '\n';                cout << "integrantes: " << banda[j].integrantes << '\n';                 cout << '\n';                break;            }         }    } return 0;} 

Exercício 4
4) Defina uma estrutura que irá representar alunos em uma faculdade que contenha o nome, curso, período, disciplinas atuais e notas de uma disciplina que o aluno está pagando atualmente. Crie três alunos e depois imprima, assim como na questão 3, os dados do aluno e sua média.
Código: C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
#include <iostream>#include <string.h>#include <locale.h> //necessário para usar setlocale using namespace std; int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     struct Alunos{        string nome;        string curso;        unsigned int periodo;        string disciplinas[4];        float notas[3];     };    Alunos aluno[3];     // são estas declarações que causam o Warning "extended initializer lists only available with..."    //Para eliminar os wanrings no dev c++ é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"    aluno[0] = {"Jefferson Ryan", "ADS",2, "Estruturas de Dados", "Matemática Computacional", "Projeto de Bancos de Dados", "Usabilidade de Interfaces", 4.5, 7, 10};    aluno[1] = {"Douglas Amâncio", "CC",2, "Algoritmos", "Programação 1", "Projeto de Bancos de Dados", "Usabilidade de Interfaces", 10, 3, 10};    aluno[2] = {"Fulano Beltrano", "SI",2, "Lingua Portuguesa", "Programação 1", "Organização e arquitetura de Computadores", "Usabilidade de Interfaces", 4.5, 8, 0};      for (int i=0;i<3;i++){        cout << "Aluno " << i+1 << ":" << '\n';        cout << "Nome: " << aluno[i].nome << '\n';        cout << "Curso: " << aluno[i].curso << '\n';        cout << "Periodo: " << aluno[i].periodo << endl;        cout << "Disciplina 1: "<< aluno[i].disciplinas[0] << '\n';        cout << "Disciplina 2: "<< aluno[i].disciplinas[1] << '\n';        cout << "Disciplina 3: "<< aluno[i].disciplinas[2] << '\n';        cout << "Disciplina 4: "<< aluno[i].disciplinas[3] << '\n';         float nota1=aluno[i].notas[0];        float nota2=aluno[i].notas[1];        float nota3=aluno[i].notas[2];        cout << "nota AV1: " << nota1 << '\n';        cout << "nota AV2: " << nota2 << '\n';        cout << "nota AV3: " << nota3 << '\n';        cout << '\n';         unsigned int indiceMenor=0;        if (nota2<nota1) indiceMenor=1;        if (nota3<aluno[i].notas[indiceMenor])    indiceMenor=2;         cout << '\n' << "O menor valor é o da AV: " << indiceMenor+1 << '\n' ;         //Ignoro o menor valor, somo os restantes e divido por dois        float k=0;        if (indiceMenor==0) {k=((nota2+nota3)/2);};        if (indiceMenor==1) {k=((nota1+nota3)/2);};        if (indiceMenor==2) {k=((nota1+nota2)/2);};         cout << "Média: " << k << '\n' ;        cout << '\n';    } return 0;} 

19
Estrutura de Dados / Aula 1 - Vetores
« Online: Março 02, 2019, 02:49:31 am »
Exercício 1

Crie um programa que receba as notas da AV1, AV2 e AV3 e calcule a sua média final.

Código: C++
123456789101112131415161718192021222324252627282930313233343536
#include <iostream>using std::cout;using std::cin; #include <locale.h> //necessário para usar setlocale int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     float n[3];     cout << "Nota AV1: ";    cin >> n[0];    int indiceMenor=0;     cout << "Nota AV2: ";    cin >> n[1];    if (n[1]<n[indiceMenor]) indiceMenor=1;     cout << "Nota AV3: ";    cin >> n[2];    if (n[2]<n[indiceMenor]) indiceMenor=2;    cout << '\n' << "O menor valor é o da AV: " << indiceMenor+1 << '\n' ;     //Ignoro o menor valor, somo os restantes e divido por dois    float k=0;    if (indiceMenor==0) {k=((n[1]+n[2])/2);};    if (indiceMenor==1) {k=((n[0]+n[2])/2);};    if (indiceMenor==2) {k=((n[0]+n[1])/2);};     cout << "Sua média é: " << k << '\n' ; return 0;} 

Exercício 2
2. Crie um programa que lê 6 valores inteiros e, em seguida, mostre na tela os valores lidos. [for, vetores]

Código: C++
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
#include <iostream>using std::cout;using std::cin; #include <iomanip>using std::setw; //no dev c++ para isso ser aceito é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"#include <random> #include <locale.h> //necessário para usar setlocale  int main(){     int a[10];    char resposta;     setlocale(LC_ALL,"");  //me permite usar acentuação     cout << "Por default este programa usa o gerador de números aleatórios.\n";    cout << "você deseja em vez disso fornecer os valores?\n";    cout << "s=sim, n=não.\n";    cin >> resposta;     if (resposta=='s'){//Não me importa realmente qualquer outra resposta        for (int i=0; i<6; i++){            cout << "Posição " << i+1 << ": ";            cin >> a[i];        }    }    else{        // Preparo o gerador de número randômicos para me fornecer números na faixa de -10 a 10        std::mt19937 eng(time(NULL)); // Alimento o gerador com a hora atual para me certificar que cada execução seja diferente        std::uniform_int_distribution<> distr(-10, 10); // defino faixa          //Preencho o vetor com números aleatórios e exibo o resultado        for (int i=0; i<6; i++){            a[i]=distr(eng);        }     }     cout << '\n';    cout << "Valores de entrada:\n";    cout << '\n';     for (int i=0; i<6; i++){        cout <<i+1 <<": " << a[i] << '\n';    } return 0;} 

Exercício 3
Código: C++
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
#include <iostream>using std::cout;using std::cin; #include <iomanip>using std::setw; //no dev c++ para isso ser aceito é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"#include <random> #include <locale.h> //necessário para usar setlocale  int main(){     int a[10];    int x;    int y;    char resposta;    setlocale(LC_ALL,"");  //me permite usar acentuação     cout << "Por default este programa usa o gerador de números aleatórios.\n";    cout << "você deseja em vez disso fornecer os valores?\n";    cout << "s=sim, n=não.\n";    cin >> resposta;     if (resposta=='s'){//Não me importa realmente qualquer outra resposta       for (int i=0; i<8; i++){            cout << "Posição " << i+1 << ": ";            cin >> a[i];       }        cout << '\n';        cout << "X: ";        cin >> x;        cout << "Y: ";        cin >> y;    }    else{        // Preparo o gerador de número randômicos para me fornecer números na faixa de -10 a 10        std::mt19937 eng(time(NULL)); // Alimento o gerador com a hora atual para me certificar que cada execução seja diferente        std::uniform_int_distribution<> distr(-10, 10); // defino faixa        std::uniform_int_distribution<> distr1(1, 8); // defino faixa         //Preencho o vetor com números aleatórios e exibo o resultado        for (int i=0; i<8; i++){            a[i]=distr(eng);        }        x=distr1(eng);        y=distr1(eng);    }     cout << '\n';    cout << "Valores de entrada\n";    cout << '\n';     for (int i=0; i<8; i++){        cout <<i+1 <<": " << a[i] << '\n';    }    cout << '\n';    cout << "X: " << x << '\n';    cout << "Y: " << y << '\n';    cout << '\n';    cout << "A soma dos valores encontrados nas posições X e Y é: " << a[x-1]+a[y-1] << '\n'; return 0;} 

Exercício 4
4. Leia um vetor de 10 posições e atribua valor 0 para todos os elementos que possuírem valores negativos.
Código: C++
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
#include <iostream>using std::cout;using std::cin; #include <iomanip>using std::setw; //no dev c++ para isso ser aceito é preciso ir em Tools -> Compiler Options e acrescentar -std=c++11 "when calling the compiler"#include <random> #include <locale.h> //necessário para usar setlocale  int main(){     int a[10];    char resposta;    setlocale(LC_ALL,"");  //me permite usar acentuação     cout << "Por default este programa usa o gerador de números aleatórios.\n";    cout << "você deseja em vez disso fornecer os dez valores?\n";    cout << "s=sim, n=não.\n";    cin >> resposta;     if (resposta=='s'){//Não me importa realmente qualquer outra resposta       for (int i=0; i<10; i++){           cout << "Posição " << i+1 << ": ";           cin >> a[i];       }    }    else{        // Preparo o gerador de número randômicos para me fornecer números na faixa de -10 a 10        std::mt19937 eng(time(NULL)); // Alimento o gerador com a hora atual para me certificar que cada execução seja diferente        std::uniform_int_distribution<> distr(-10, 10); // defino faixa         //Preencho o vetor com números aleatórios e exibo o resultado        for (int i=0; i<10; i++){             a[i]=distr(eng);        }    }     cout << '\n';    cout << "Valores de entrada\n";    cout << '\n';     for (int i=0; i<10; i++){        cout <<i+1 << ": " << a[i] << '\n';    }     //Substituo todos os valores negativos por zero    for (int i=0; i<10; i++){        if (a[i]<0) a[i]=0;    }     cout << '\n';    cout << "Valores Corrigidos\n";    cout << '\n';     for (int i=0; i<10; i++){        cout <<i+1 << ": " << a[i] << '\n';    }  return 0;} 

Exercício 5
5. Faça um programa que receba do usuário dois vetores, A e B, com 10 números inteiros cada. Crie um novo vetor denominado C calculando C = A - B. Mostre na tela os dados dos vetores A, B e C.

Código: C++
1234567891011121314151617181920212223242526272829303132333435363738394041424344
#include <iostream>using std::cout;using std::cin; #include <iomanip>using std::setw; #include <locale.h> //necessário para usar setlocale  int main(){     setlocale(LC_ALL,"");  //me permite usar acentuação     int a[10];    int b[10];    int c[10];     cout << "VETOR A:\n";    for (int i=0; i<10; i++){        cout << "Valor " << i+1 << ": ";        cin >> a[i];    }    cout << '\n';    cout << "VETOR B:\n";    for (int i=0; i<10; i++){        cout << "Valor " << i+1 << ": ";        cin >> b[i];    }     for (int i=0; i<10; i++){        c[i]=a[i]-b[i];    }     cout << '\n';    cout << "Vetor A" << setw(11) << "Vetor B" << setw(19) << "Vetor C (A-B)\n";    cout << '\n';     for (int i=0; i<10; i++){        cout << a[i] << setw(12) << b[i] << setw(12) << c[i] << '\n';   }return 0;} 

20
Media Players Realtek baseados em Linux / DIYOMATE S9
« Online: Setembro 21, 2011, 11:18:32 pm »
Indice dos meus textos sobre o DIYOMATE S9

Rascunho da minha análise do aparelho (ainda não fiz uma página decente sobre isso)
http://www.google.com/buzz/117578158927571476541/Prg2TRZmaR8

Controle Remoto
http://ryan.com.br/wp/controle-remoto-diyomate-s9/
Legendas
http://ryan.com.br/wp/diyomate-s9-legendas/
Hardware
http://ryan.com.br/wp/diyomate-s9-hardware/
Firmwares
http://ryan.com.br/wp/diyomate-s9-firmwares/

Páginas: « 1 2 3 4 5 6 7 »