Ir ao conteúdo
  • Cadastre-se

Alguém poderia me ajudar com esses dois programas em c++


Visitante
Ir à solução Resolvido por dontpanic,

Posts recomendados

1) Contrua um programa que dada uma matriz pré-definida, imprima quantos valores positivos e
quantos valores negativos a matriz possui.

 

Da uma olhada no meu código!

 

 

#include <iostream>

using namespace std;

int main()
{
    const int l=2;
    const int c=3;
    int cont=0;
    int m[l][c]={{3, 2, -1},
                {-3, -3, 2}};
    for (int i=0;i<l;i++){
    for (int j=0;j<c;j++){
        if (m[j]<0)
            cont++
    }
    }
    cout<<"existem "<<cont<<" negativos"<<endl;
}
 

2)Construa um programa que solicite ao usuário uma
frase e imprima quantas vogais e quantas consoantes
compõem a frase.

 

Esse aí eu nem conseguir sair do lugar

 

#include <iostream>

using namespace std;

int main()
{
    char a;
    cout<<"Digite uma frase ae: " <<endl;
    cin>>a;

}
 

Link para o comentário
Compartilhar em outros sites

Pra guardar uma frase, você precisa de uma string. E uma string nada mais é do que um array de char's.

Então a mesma lógica que você usou na primeira questão, você pode usar na segunda questão também... a diferença é que em vez de testar se os elementos do array são menores que zero, você agora testa se eles são iguais a 'a', 'e', 'i', 'o' e 'u'.

 

#include <cstring>...char frase[50];cin >> frase;for (int x = 0; x < strlen(frase); x++)    if (frase[x] == 'a')        // ...
No exemplo acima você tá usando uma string no estilo do C. Pra usar a função strlen (que retorna o tamanho da frase), você precisa incluir a lib <cstring>.

Se quiser você pode também usar strings no estilo do C++', daí usa a lib <string>.

 

#include <string>...string frase;cin >> frase;for (int x = 0; x < frase.size(); x++)    if (frase[x] == 'a')...
Link para o comentário
Compartilhar em outros sites

ata..... mas aqui, voltando com as vogais e consoantes da uma olhada no q eu fiz.... n entendi muito bem o q você escreveu n!!! Estou tentando aprender c++ sozinho.... e ta bem osso.... semestre q vem eu vou ter q fazer prog 2, e a linguagem é c++

 

#include <iostream>
#include <string>
#lib <string> //essa paradinha aqui existe mesmo?

using namespace std;

int main()
{
    char a[50];
    int vogais=0;
    int consoante=0;
    cout<<"Digite uma frase ae: " <<endl;
    cin>>a;
    for (int i=0;i<string(a);i++){
        if (a=='a' || a=='e' || a=='i'||a=='o'||a=='u')
            vogais++;
            else
            consoantes++;
    }
}
 

Link para o comentário
Compartilhar em outros sites

Quando eu disse que você precisa incluir a lib string, eu só quis dizer que precisava incluir a biblioteca string.

#include <string>#include <iostream>#include <blablabla>
Cada um desses includes aí ("string", "iostream", etc), a gente chama de biblioteca (ou library, ou simplesmente lib).

Então, ao incluir no seu código a linha "#include <string>", você está usando a biblioteca "string".

Sobre o que eu falei antes:

Em C/C++ a sintaxe de uma função é a seguinte:

<tipo de retorno> <nome da função> ( <parametros> ) {    return <valor> ;}
Se você tem uma função chamada FUNC, e se ela é do tipo "int", então você precisa no final retornar um valor correspondente ao tipo dela.

int FUNC() {    int x = 0;    return x;}
Na função acima você tá retornando 0, que é do tipo int, que é o mesmo tipo da função.

Se sua função for do tipo char, então o return precisa retornar um valor ou variável do tipo char. E assim por diante.

As únicas funções que não precisam retornar nenhum valor, são as funções do tipo void:

void FUNC() {    int x = 0;}
Note que no código acima não tem nenhum return no final.

Então se a sua função MAIN é do tipo INT, você precisa retornar um valor do tipo int no final.

Por convenção a gente retorna 0 quando não há houver problema nenhum. Esse valor será retornado ao próprio sistema operacional que iniciou o programa.

int main() {    ...    return 0;}
Sobre seu código das vogais e consoantes, você ainda tá esquecendo alguns ponto-e-virgula depois de uns comandos. E eu não sei o que é "string(a)".
Link para o comentário
Compartilhar em outros sites

A condição if else conta as vogais corretamente, porém erra nas consoantes.
Por que considera espaços, vírgulas, e gráficos como sendo consoantes também.
Além disso seu if está preparado apenas para vogais minúsculas: Aluno por exemplo o A será considerado consoante.

programa_c_mauro_britivaldo_vogais.jpg

Caso já tenha pensado nisso tudo bem valeu.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!