Ir para conteúdo
Fórum Script Brasil

Alisson Coelho

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Tudo que Alisson Coelho postou

  1. Olá Henrike, O problema do lixo eletrônico está na seguinte linha: result2=matriz[1][1]+matriz[2][2]+matriz[3][3]; o erro está no fato de que as posições de um array, sempre começam com o índice 0, então deveria ser: result2=matriz[0][0]+matriz[1][1]+matriz[2][2]; Se quiser tornar o código mais dinâmico e versátil, poderia fazer um loop, para pegar os valores da diagonal principal, (repare que na diagonal principal, o índice da linha e colunas são iguais): result2 = 0; //inicializando a variavel acumulativa da soma for(i=0; i<coluna && i<linha; i++) //enquanto estiver dentro dos limites da matriz result2 = result2 + matriz[i][i]; //acessando todos os elementos da diagonal principal Espero ter ajudado, Qualquer coisa, só perguntar novamente Abraço
  2. Olá Miau e Mnemonic, Quando trabalhamos com arrays multidimensionais e precisamos acessar conteúdos passados por referência à alguma função, temos que utilizar aritmética de ponteiros, ao invés de acessarmos da forma indexada os componentes da matriz Faça assim: void gerar_bolao(int *a, int tamx, int tamy) { int i, j; srand(time(NULL)); for (i = 0; i < tamx; i++) for (j = 0; j < tamy; j++) *(a + i*tamy +j) = rand() % 60 + 1; //acessando o componente do Array utilizando aritmética de ponteiros } main() { int b[COL][LIN]; gerar_bolao(&b[0][0],COL,LIN); //Passando o array por referencia, atraves do endereço do primeiro elemento do mesmo } } A Aritmetica de ponteiros pode ser utilizada em razão de cada componente do array estático estar posicionado na memória de maneira contígua (um elemento "ao lado" do outro), então apartir do primeiro elemento do array, podemos acessar qualquer outro, desde que se conheça a dimensão do array Espero que tenha ajudado, Abraço
  3. Olá Diego Antonio, para imprimir variáveis, é necessário especificar um identificador no printf, faça assim: printf("\nA media de idade dos nadadores é: %d ", m); printf("\nA maior idade é: %d", maior_id); printf("\nA menor idade é: %d", menor_id); Os principais identificadores são: %d é usado para variáveis inteiras %f é usado para variáveis de ponto flutuante %c é usado para caracteres %s é usado para strings Os identificadores são "trocados" pelas variáveis correspondentes após a vírgula do printf, obedecendo a sequencia de posição dos mesmos Ah, não esqueça de verificar se uma variável inteira é realmente aconselhável para guardar o valor de uma média aritmética Abraço,
  4. Olá franciele, -Você precisa ter uma condição de parada para seu laço, digamos, que quando o usuario digitar 0, o algoritmo seja interrompido, -Você precisa ler a idade e o sexo, em cada entrada do usuário, -Para calcular a média de cada sexo, você precisa saber a quantidade de pessoas de cada sexo que responderam ao senso, Então seria algo mais ou menos assim: #include<stdio.h> #include<conio.h> int main(){ int quantidadeF = 0, quantidadeM = 0, sexo; float mediaF = 0.0, mediaM = 0.0, idade = 0.0; do { printf("informe idade e sexo [1-feminino//2-masculino//0-sair]"); scanf("%f %d", &idade, &sexo); //lendo os dados separados por espaço, ou enter, ou se preferir, pode fazer a leitura individual de cada um switch(sexo){ case 1: quantidadeF++; mediaF+=idade; break; case 2: quantidadeM++; mediaM+=idade; break; } }while(sexo!=0); printf("\n media feminino: %f", mediaF/(float)quantidadeF); printf("\n media masculino: %f", mediaM/(float)quantidadeM); getch(); return 0; } Abraço
  5. Boa Noite, Vale a pena lembrar que você não possuirá o tipo de dado string e nem o operador de concatenação "+", Terá que usar um array de char para representar sua String (ou então trabalhar com String Dinamica, mas acho que não vem ao caso) e utilizar a função strcat(ARRAYchar, StringConstante) para efetuar a concatenação das strings (presente na biblioteca string.h), Abraço
  6. Alisson Coelho

    Dúvidas C++

    Olá Macgyver_rj, Você apenas quer que não seja impressos os números repetidos no array valor?? Se for isso, basta que antes de imprimir, você verifique quantas vezes ele aparece no vetor, Essa função resolve seu problema: int QuantidadeAparecimentos(int *vetor, int chave){ int i, quant = 0; for(i=0; i<MAX; i++) if(vetor[i] == chave) quant++; return quant; } e antes da impressao testar: if(QuantidadeAparecimentos(valor, valor[i]) == 1 )//elemento so aparece no vetor uma vez printf ("%d ", valor [i]); Desculpe se interpretei mal a sua dúvida, Abraço
  7. Olá Elton Carlos, Bom, pelo que eu entendi, você deseja criar um calendário de um determinado ano completo em um arquivo de texto, e está encontrando dificuldades na formatação do mesmo. Se for isso, lhe informo que todos os caracteres de formatação que você usa no printf serve também para o fprintf, (\n, \t, %2d, ...) Rodei o seu código, (após adicionar a biblioteca String.h), percebi que o principal problema é que você imprime todos os números sem espaçamento algum no arquivo, além do que, você está imprimindo apenas os endereços de memória do seu array no arquivo, troque fprintf(fp,"%d",&mes_1[valor_coluna][valor_linha]); por fprintf(fp,"%d ",mes_1[valor_coluna][valor_linha]); //sem & ah, e evite postar o código todo, principalmente sem endentação/formatação, pois dificulta e muito a leitura e interpretação Se não for o caso, volte a postar explicando mais detalhadamente a lógica de seu algoritmo bem como sua dificuldade Abraço,
  8. Olá jhonantan_soad, Atente-se ao fato de que operações entre inteiros, sempre resultam em inteiros, então você precisa fazer a conversão (casting) de alguns tipos de dados, além do que, acho que o cálculo da porcentagem está errado, tente fazer: ma = ( (float)maior / 2.0 ) * 100.0; me = ( (float)menor / 2.0 ) * 100.0; ps*: não é necessário a conversão de todos os operandos para ponto flutuante, apenas acho que o código fica mais legível Abraço
  9. Olá jeff_pvh, Não sei se entendi direito, mas se você quiser saltar para um determinado frame de um MovieClip de nome mc, basta utilizar: mc.gotoAndStop(NUMERO_ou_NOME_doFrame) se quiser que a animação permaneça pausada, ou então mc.gotoAndPlay(NUMERO_ou_NOME_doFrame) se desejar que a animação continue rodando, Abraço
  10. Olá Blitzen, Suponho que o erro deva ser em razão de você estar utilizando o operador -> em uma variável que não é ponteiro, o que eu quero dizer é, ou você usa: (P_Nome_Listas+indice)->indice ou então: (*(P_Nome_Listas+indice)).indice Abraço, Desculpe se falei besteira
  11. Olá Diego, Antes da definição das variáveis, é necessário que se entenda a lógica do problema, repare que a série proposta, tem seus termos sempre do tipo x^k/k, sendo que a cada termo temos subtração e adição intercaladas, a variável x é constante a cada execução do seu código (inserida pelo usuário), já a variável k sofre um incremento definido à cada iteração (soma de um novo termo), Bom, espero que tenha ajudado na compreensão do problema, Abraço
×
×
  • Criar Novo...