Jump to content

[C++] Ajuda: 3 progr. c/ alguma urgência


Recommended Posts

Posted

Boas pessoal.

Estou no 12º e tenho uns exercícios para fazer, e estou muito mal com o C++... tive 8 no final do periodo e não consigo fazer isto.  :wallbash:

Os programas são os seguintes (enunciados dos mesmos):

1) Um programa que leia uma sequência alfanumérica do teclado e depois a escreva no ecrã por ordem inversa.

2) Um programa que procure um caracter qualquer, de um input do teclado a sêquencia alfanumérica de 65 caracteres de comprimento. Quando o caracter for encontrado deverá escrever no ecrã, a posição que o mesmo se encontra (no arary de 65). Se o caracter não existir, deve aparecer a mensagem: "Caracter não encontrado!"

3) Dada uma matriz unidimensional de 55 elementos inteiros, pretende-se:

Preencher a matriz de forma a que os elementos de índice par sejam todos iguais a -1.

Desculpem a possível "noobice" disto mas o stor não ajuda muito (quem acreditar muito bem quem não acreditar dispensam-se comentários parvos como já se passou noutro tópico para com o allskin que é meu colega de turma e sabe bem o que se passa).

De qualquer maneira... agradecia muito qualquer ajuda que me possam dar  👍

Posted

Hellblazzer, deixa-me só deixar um conselho.

A forma como estás a expor a questão poderá levar muita gente a intrepretar o teu post como um "pedido para te fazerem os trabalhos" e certamente nao será essa a tua ideia, eu precebi, mas pode haver quem assim nao entenda o post.

Devias de expecificar melhor quais as tuas duvidas, e o que já tens feito, etc..

👍 bons post's! 😉

cool stuffs to check.

http://blog.zxcoders.com//

Posted

Hm não era bem isso, eu pretendia para números ou letras, acho que o stor quer que nos fassamos isso de maneira que "simplesmente" seja feito um output "virado do avesso" seja do que for 👍

Não percebi...  😉

Já agora,

Para o 2:

Lês o caracter, depois inicializas uma flag a 0 e percorres o array com um for. Cada posição que percorras comparas com o caracter lido e incrementas a flag. Se o caracter lido for igual a posição é o valor da flag.

Para o 3:

Uma forma de testar se um número é par é se o resto da divisão inteira por 2 for 0.

if ((num%2) == 0)

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted

Para já obrigado pela ajuda! =D

Hm não era bem isso, eu pretendia para números ou letras, acho que o stor quer que nos fassamos isso de maneira que "simplesmente" seja feito um output "virado do avesso" seja do que for 👍

Não percebi...  😉

O stor quer que se declare 1 array string (letras ou números) e que se introduza por exemplo "x007" e no output apareca "700x"!

Já agora,

Para o 2:

Lês o caracter, depois inicializas uma flag a 0 e percorres o array com um for. Cada posição que percorras comparas com o caracter lido e incrementas a flag. Se o caracter lido for igual a posição é o valor da flag.

O que é uma flag? =P

Para o 3:

Uma forma de testar se um número é par é se o resto da divisão inteira por 2 for 0.

if ((num%2) == 0)

E depois, se for como o meto igual a -1 e faço o output disto tudo? =S

Posted

Hellblazzer, deixa-me só deixar um conselho.

A forma como estás a expor a questão poderá levar muita gente a intrepretar o teu post como um "pedido para te fazerem os trabalhos" e certamente nao será essa a tua ideia, eu precebi, mas pode haver quem assim nao entenda o post.

Devias de expecificar melhor quais as tuas duvidas, e o que já tens feito, etc..

😉 bons post's! 🙂

Eu não quero meter ninguém a trabalhar por mim lolol

Eu basicamente não tenho nada feito pois, para ser sincero, não precebo nada disto, a melhor nota da turma foi 6,3 e foi a minha (como já disse noutro tópico do allskin) =\

Estou à procura num livro que tenho que é o C++ DeMystified "A Self-Teaching Guide" de Jeff Kent mas está grave para encontrar alguma coisa que me ajude realmente  :dontgetit:

Posted

Uma flag é uma variável qualquer. Tipo int var = 0...

Quanto ao 3º não sei, no enunciado que puseste não falas nada de outputs.

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted

Ok, peço desculpa, vou reformular o 3) então:

3) Dada uma matriz unidimensional de 55 elementos inteiros, pretende-se pedir ao user que introduza os 55 elementos e de seguida analisar todos, os que forem pares passam a ser "-1" e será feito o output deles todos (ímpares ficam iguais) e os pares passaram todos a -1.

Posted

Depois de meter os elementos lá dentro podes fazer:

num = 0;
for (i=0; i<65; i++) {
    num = array[i];
    if((num % 2) == 0) {
        num = -1;
    }
    printf("%d", num);
}

É algo do género mas não testei.

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted

O array é o array de que fala o enunciado!

O %d indica que se lê um inteiro mas penso já ter respondido a uma questão destas noutro tópico. Não foi a ti? 😉

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted

Espera lá... no 1º post dizes que o índice do array é que tem que ser par, e da 2ª vez que expões o problema já dizes que é o seu conteúdo que tem que ser par. Vê lá bem o que é pretendido!

Desaparecido.

Posted

No 1º post eu disse:

3) Dada uma matriz unidimensional de 55 elementos inteiros, pretende-se:

Preencher a matriz de forma a que os elementos de índice par sejam todos iguais a -1.

Elemende de índice par, ou seja, número que formam o array que sejam pares... foi isso que quiz dizer!

Posted

Isso eu já não tenho a certeza... Mas penso que o que foi feito aqui ele considerou certo.

Quanto ao do output de um array pela ordem inversa tive a ver +- o que podia fazer e vejam o que acham do código (não testei):

#include <iostream.h>
#include <string.h>
#include <stdio.h>
main(){
char x[11];
cout << "Introduza uma sequência alfanumérica de 10 caracteres.";
cin >> x[ i];
for (i=10; i=0; i--){
	cout << x[i];
}
}
Posted

Ok obrigado, não sabia disso. Tks por emendarem, já o ia fazer...

Para a próxima já sabes! 😛

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

int main(void) 
{
    char str[10];
    int len;

    printf("Introduza uma sequencia alfanumerica de 10 caracteres: ");

    gets(str);

    len = strlen(str);
    printf("Tamanho da string: %d\nString invertida: ", len);
    
    for(; len >= 0; --len)
    {
       printf("%c", str[len]);
    }

    return 0;
}

Não verifiquei se a string inserida pelo utilizador era válida para não tornar o código mais complicado, penso que assim percebes facilmente! 😞

<3 life

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.