Autor Tópico: Aula 1 - Vetores  (Lida 1988 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
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;} 
« Última modificação: Março 03, 2019, 04:58:30 am por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re:Aula 1
« Responder #1 Online: Março 02, 2019, 06:34:17 pm »
Nos exercícios 2, 3 e 4, quando o enunciado menciona "ler valores" não está claro se está se referindo a valores fornecidos interativamente pelo usuário do programa.

Os exercícios 1 e 5 usam outros termos, que deixam isso mais claro.

Por causa dessa dúvida, na resposta dos exercícios 2, 3 e 4 eu incluí a escolha entre usar o gerador de números aleatórios e fornecer interativamente os dados.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re:Aula 1
« Responder #1 Online: Março 02, 2019, 06:34:17 pm »