Ir ao conteúdo
  • Cadastre-se

Pedro Henrique Faria Teixe

Membro Pleno
  • Posts

    51
  • Cadastrado em

  • Última visita

posts postados por Pedro Henrique Faria Teixe

  1. @isrnickDeu certim, e também cheguei a essa conclusão

    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    #define Max 2001
    using namespace std;
    
    int main()
    {
        int num,n,v[Max] = {};
    
        cin >> num;
    
    
    
        for(int i=0;i<num;i++){
            cin >> n;
            v[n]++;
        }
        for(int i=0;i<Max;i++){
            for(int j=0;j<v[i];j++){
                cout << i << " aparece " << v[i] << " vez(es)" << endl;
                break;
            }
        }
    
        return 0;
    }

     

    • Curtir 1
  2. @Gustavo AndrettoFicou show parça

    adicionado 31 minutos depois

    @Gustavo Andretto

    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    
    using namespace std;
    
    int main()
    {
     int num,n;
    
    
                        cin >> num;
    
                        vector<int>numeros;
    
                        for(int i=0;i<num;i++){
                            cin >> n;
                            numeros.push_back(n);
                        }
    
                        sort(numeros.begin(),numeros.begin()+num);
    
                        for(int j=0;j<numeros.size();j++){
                            int cont = 0;
                            for(int k=0;k<numeros.size();k++){
                                if(numeros[j] ==  numeros[k])
                                    cont++;
    
                            }
                            cout << numeros[j] << " aparece " << cont << endl;
                        }
    return 0;
    }

    Usando vector cheguei a essa conclusao, porém nao retirei os valores reptidos. Alguma ideia?

    adicionado 58 minutos depois

    @isrnickManim fiz do jeito que voce falou, mas tipo não consigo printar o numero ser repetir.

  3. #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    
    
    using namespace std;
    
    int main()
    {
    int v[100] = {},a,n,cont=0,b,j=0,v1[100] = {};
                    cin >> n;
    
                    for(int i=0;i<n;i++){
                                cin>>v[i];
    
    
                    }
                for(int x=0;x<n;x++){
                    for(int y = x+1;y<n;y++){
                        if(v[x] != v[y])
                            v1[x] = v[x];
                    }
                }
                cout << endl;
    
                for(int k=0;k<n;k++){
                    cout << v1[k] << endl;
                }
    
    }

     

    adicionado 0 minutos depois

    @atoMzera No segundo for estou separando os que são diferentes.

    adicionado 1 minuto depois

    @atoMzera No segundo for estou separando os que são diferentes. Use como ex: 

    7
    8
    10
    8
    260
    4
    10
    10

  4. Olá pessoas, gostaria de adquirir algumas dicas do que posso estar fazendo para contar quantas vezes um numero se repete ao digitalo para o compilador por exemplo. Eu digito, (8,4,8,10,5,6,8,4,10). E quero printar que 8 repetir 3 vezes, 4 repetiu 2 vezes, e assim sucessivamente alguem pode me ajudar? Eu pensei em utilizar vetores mas nao consigo apontar para uma posicao do vetor e ir acompanhando cada valor no vetor.

  5. #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    
    
    using namespace std;
    int x;
    int main()
    {
    
    string str;
    string s;
    int num,pos,tam;
                    cin >> num;
    
            for(int y=0;y<=num;y++){
                getline(cin,str);
    
                s+=str[0];
                for(int i=0,x=0;i<str.size();i++){
                    if(str[i] == ' '){
                        pos=i;
                        s+=str[pos+1];
    
                    }
    
    
                }
                cout <<s << endl;
                s = ' ';
            }
    
    
    return 0;
    }
    
    adicionado 1 minuto depois
    agora, Pedro Henrique Faria Teixe disse:
    
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    
    
    using namespace std;
    int x;
    int main()
    {
    
    string str;
    string s;
    int num,pos,tam;
                    cin >> num;
    
            for(int y=0;y<=num;y++){
                getline(cin,str);
    
                s+=str[0];
                for(int i=0,x=0;i<str.size();i++){
                    if(str[i] == ' '){
                        pos=i;
                        s+=str[pos+1];
    
                    }
    
    
                }
                cout <<s << endl;
                s = ' ';
            }
    
    
    return 0;
    }

    Usa como exemplo essa string aqui para voce entender. "compete online design event rating"

    adicionado 5 minutos depois

    @Gustavo AndrettoO problema pode estar no final da linha quando eu declaro que a string é igual ao espaco para zerar e ela n concatenar com outra string, porém quando faco sem igualar a espaco também da o mesmo erro

     

    adicionado 9 minutos depois

    @Gustavo Andretto Conseguir manim, eu usei, s = "", ao invés de s = ' '; e deu certo.

    • Curtir 2
  6. Olá pessoal eu sei um pouco de programação em C, e estou aprendendo C++, fiz um programa em C e estou tentando passar para C++, porém não consigo imprimir a matriz bidimensional corretamente em C++, era para se parecer uma pirâmide assim como neste código em C.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    int i, n,count=0, j;
    
                            scanf("%d",&n);
    
                            for(i=0;i<=n;i++){
                                for(j=n-i;j<=n;j++)
                                    printf(" ");
    
                            for(count=i+1;count<=n-i;count++)
                                printf("%d",count);
    
    
                            printf("\n");
                        }
    return 0;
    }

    Procuro por uma dica haha, sei que é coisa simples mas n achei na internet .

    adicionado 31 minutos depois
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    
    
    using namespace std;
    
    int main()
    {
       int n=0,c=0;
       string s;
                            cin >> n;
    
                    for(int i=0;i<=n;i++){
                        for(int j=n-1;j<=n;j++)
    
                        for(c=i+1;c<=n-i;c++)
                            s = (c == n-i) ?"\n" : " Acabou";
                            cout << c << s;
    
                    }
    
    
    
    
    
    
    
    return 0;
    }

    Aqui esta o código em C++

  7. Obrigado!

    adicionado 7 minutos depois

    @devair1010 Eu estou usando Vector pra guardar as string no vetor, olhe o código

    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    
    
    using namespace std;
    
    int main()
    {
        int number = 0;
                                cin >> number;
                                
        vector<string>palavras(number);
        string s;
    
    
                    for(int i=0;i<=number;i++){
                        getline(cin,s);
                        palavras.push_back(s);
    
                    }
    
                    for(int j=0; j<palavras.size();j++){
                        cout << palavras[j] << endl;
                    }
    
    
    
    return 0;
    }

    e preciso obter o tamanho da maior string do vetor para diminuir com as demais, você sabe algum método?

    • Curtir 1
  8. Olá pessoal criei um programa em C que le uma string invertida das pontas ate o meio e inverte ela, gostaria de saber como acelerar seu tempo de execução alguem tem alguma ideia ?

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    int main(){
    char str[100],st[100],st1[100],st2[100];
    int i,j,k,x,y,n,tamanho,tam,z,a,b;
    
                                scanf("%d",&n);
                                setbuf(stdin,NULL);
                                while(n--){
                                    gets(str);
                                    tamanho = strlen(str);
                                    for(i=(tamanho/2)-1,j=0;i>=0;i--){
                                        st[j] = str[i];
                                        j++;
                                    }
                                    st[j] = '\0';//metade invertida
                                    tam = strlen(st);
                                    for(y=tamanho-1,z=0;y>=tamanho/2;y--){
                                        st2[z] = str[y];
                                        z++;
                                    }
                                    st2[z]='\0';//outra metade invertida
    
                                    strcat(st,st2);
                                    printf("%s\n",st);
    
                                }
    
    return 0;
    }

    Quem quiser ver como funciona esta aqui alguns testes./*

    5
    I ENIL SIHTHSIREBBIG S
    LEVELKAYAK
    H YPPAHSYADILO
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    VOD OWT SNEH HCNERF EGDIRTRAP A DNA SE*/

  9. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    int contador(int n){
        if(n == 0) return 0;
        else return 1+contador(n/10);
    }
    
    int main(){
    int n,vet[100];
    int i,j,aux,s=vet[0];
                    scanf("%d",&n);
                    aux = contador(n);
                        printf("%d\n",aux);
                    for(i=0;i<aux;i++){
    
                        vet[i] = n%10;
                        n/=10;
    
                        printf("%d ",vet[i]);
                    }
                    for(j=0;j<aux;j++){
                        s = s * vet[j];
    
                    }
                    printf("\n%d\n",s);
    
    
    return 0;
    }

    Estou tentando desenvolver em C. Um programa que receba um numero e multiplique seus algoritimos porém nao estou conseguindo multiplicar. Alguem pode me ajudar?

  10. Olá pessoal, estou com um código que eu necessito apagar a string para reutilizá-la, pois ela esta dentro de um while. Alguém sabe como fazer?  Segue o code.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main() {
    char str[100],st[100],st2[100],st3[100];
    int i,j = 0,tamanho,k,x=0,y,count = 0,tamanho2,a,b,n;
    
                           scanf("%d",&n);
                            fflush(stdin);
              while(n--){
    
                        gets(str);
    
                    tamanho = strlen(str);
    
                    for(i=(tamanho/2)-1;i>=0;i--){
                        st[j] = str[i];
                        j++;
                    }
                    st[j] = '\0';
                    for(k=tamanho/2;k<strlen(str);k++){
                        st2[x] = str[k];
                        x++;
                    }
                    st2[x] = '\0';
                    tamanho2 = strlen(st2);
                    for(y=tamanho2-1;y>=0;y--){
                        st3[count] = st2[y];
                        count++;
                    }
                        st3[count] = '\0';
                 
                    printf("%s",st);
                    printf("%s\n",st3);
    
    
                   }
    
    
    
    return 0;
    }

     

    adicionado 43 minutos depois
    42 minutos atrás, Pedro Henrique Faria Teixe disse:

    Olá pessoal, estou com um código que eu necessito apagar a string para reutilizá-la, pois ela esta dentro de um while. Alguém sabe como fazer?  Segue o code.

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main() {
    char str[100],st[100],st2[100],st3[100];
    int i,j = 0,tamanho,k,x=0,y,count = 0,tamanho2,a,b,n;
    
                           scanf("%d",&n);
                            fflush(stdin);
              while(n--){
    
                        gets(str);
    
                    tamanho = strlen(str);
    
                    for(i=(tamanho/2)-1;i>=0;i--){
                        st[j] = str[i];
                        j++;
                    }
                    st[j] = '\0';
                    for(k=tamanho/2;k<strlen(str);k++){
                        st2[x] = str[k];
                        x++;
                    }
                    st2[x] = '\0';
                    tamanho2 = strlen(st2);
                    for(y=tamanho2-1;y>=0;y--){
                        st3[count] = st2[y];
                        count++;
                    }
                        st3[count] = '\0';
                 
                    printf("%s",st);
                    printf("%s\n",st3);
    
    
                   }
    
    
    
    return 0;
    }

     

    @Mauro Britivaldo tem alguma ideia?

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!