p4t0X
-
Total de itens
151 -
Registro em
-
Última visita
Posts postados por p4t0X
-
-
Qual exatamente o erro?!
@edit
Ví algumas coisas...
1) A variável str não tem comprimento, você precisa alocar memória pra ela. Solução: str = char[20];
2) Você tem que ler string, o formato é "%s" ainda sim, vale ressaltar que strings com espaços não serão tratadas da forma esperada. Solução: "%s" no lugar de "%c" para a variável str;
3) O formato "%char" não existe, é "%c", a variável str é um vetor de char, portanto na atribuição da str2, basta fazer uma atribuição simples. Solução: str2 = str[caracterequalquer];
4) Na hora da comparação (linha 23), você precisa fazer o casttype para a posição do vetor a ser testada, não do vetor inteiro. Solução: aux = (int) str[posicaoasertestada];
-
Posta algum código aí que agente ajuda, não vamos te dar o programa feito...
Se você quer simplesmente o programa, é só procurar melhor que tem. Agora, se você quer entender/aprender posta o código/dúvida.
-
Aconselho a colocar chaves sempre que possível, também aconselho fazer uso de uma identação padrão, isso reduz consideravelmente o número de erros...
E ó, aconselho você a dar uma olhada em vetores, ficaria 70% mais fácil usa-los.
if( condição ) { façaalgumacoisa; façaoutracoisa; for( bla; ble; bli ) { ++variavellegal; } if( nossa ) { vaipralonge; } }
-
Ahhh, perfeito então!
Assim fica mais fácil!
O conceito da tabela de hash você entendeu, certo?!
-
?!
Não entendi nada...
-
Você deve ter procurado na net por algum material, mais oh, vê se dá uma clareada:
http://pt.wikipedia.org/wiki/Tabela_de_hashing
Pra quando você tem que entregar isso?!
-
Qual exatamente o erro?!
Só lembrando que para alterar o valor de uma variável dentro de uma função você precisa passar ela por referência!
-
Procure por threads,
Ou verifique as teclas pressionadas a cada 1 segundo...
-
Provavelmente o ponteiro está sendo passado como argumento, você precisa passa-lo como referência!
-
Posta alguma coisa ae, e fala a dúvida
-
Humm, e qual exatamente a dúvida?!
-
Multiplicação, de forma recursiva.
Ele retorna o A+A, B vezes!
-
A lógica é a mesma, só o que vai mudar é são as condições de parada:
Por exemplo: a condição para 'subir' na diagonal /, é linha >= 0 e coluna > colunaMax (decrementa a linha e incrementa a coluna).
para 'descer' é: coluna >= 0 e linha < linhaMax (decrementa a coluna e incrementa a linha)
Acho que é isso, dá uma tentada ae :)
-
Uma maneira de se fazer:
Primeiro você cria todos os números a serem testados.
Percorre todos os números restantes, o primeiro sempre será primo, depois disso você tira todos os multiplos desse número.
Continue fazendo isso até o fim dos números.
Ex: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
Começe do 2 é claro.
2 é primo, agora tire todos os multiplos de 2: ( 3, 5, 7, 9, 11, 13, 15, 17, 19 ); próximo passo (3):
3 é primo, agora tire todos os multiplos de 3: ( 5, 7, 11, 13, 17, 19 ); próximo passo (5):
5 é primo, agora tire toods os multiplos de 5: ( 7, 11 , 13 , 17, 19 ); próximo passo (7):
7 é primo, agora tire toods os multiplos de 7: ( 11 , 13 , 17, 19 ); próximo passo (11):
11 é primo, agora tire toods os multiplos de 11: ( 13 , 17, 19 ); próximo passo (13):
13 é primo, agora tire toods os multiplos de 13: ( 17, 19 ); próximo passo (17):
17 é primo, agora tire toods os multiplos de 17: ( 19 ); próximo passo (19):
17 é primo, agora tire toods os multiplos de 19: (): FIM
-
Qual o problema?!
-
SelectionSort é um método de ordenação, veja: http://pt.wikipedia.org/wiki/Selection_sort
Não seria aritmética de ponteiros?!
Acho que até tem como fazer, mais sei lá :o
-
-
Sem o uso de vetor é meio chatinho mesmo! rsrs
Se você trocar as comparações
else if( N2 < menor ){ menor = N2; }
e colocar:else if( N2 <= menor ){ segundamenor = menor; menor = N2;
Você vai conseguir um semi-resultado. Só vai haver 1 problema, se a menor nota for a primeira, a segunda menor nota vai ser a menor também.
Vê se agora você consegue pensar em alguma coisa! ;~)
-
Tarde!
Legal isso!
Basicamente você vai ter 4 diagonais né!?
Dois sentidos para cada diagonal.
/ -> Uma indo para cima e outra indo para baixo
\ -> Uma indo para cima e outra indo para baixo
A diagonal do elemento x[j], pertencente a matriz A[m][n], vai ser todo elemento x[i+q][j+q], sendo m > i+q > 0 e n > j+q > 0, considerando q inteiro e i,j naturais.
Veja se ajuda:
#include <stdlib.h> #include <stdio.h> void percorreDiagonalDireitaParaBaixo( int x, int y, int linha, int coluna, int v[][4] ){ while( x < linha && y < coluna ){ printf( "%d\t" , v[x++][y++] ); } } int main( int argc, char **argv ){ int v[][4] = { { 1 , 2 , 3 , 10 }, { 4 , 5 , 6 , 11 }, { 7 , 8 , 9 , 12 } }; percorreDiagonalDireitaParaBaixo( 0, 1, 3, 4, v ); }
-
Tá dando errado por causa disso, coloque assim:
while ( NUM1 != 0 || NUM2 != 0 ){
Mais eu acho que tem alguma coisa errada com a lógica, se num1 ou num2 for 0, a soma vai ser o outro número O_o, e se num1 ou num2 não for 0, o programa vai ficar exibindo a soma para sempre...
-
Oh, esse menu seu não está explicando o que ele realmente faz, o certo seria:
printf("[1] -> Media aritmetica\n"); printf("[2] -> Media aritmetica sem a maior e menor nota\n");
Para calcular sem as 2 menores notas você precisa descobrir as 2 menores, atualmente você só sabe a menor.
A lógica para descobrir a segunda menor é parecida...
A saída do programa está correta.
No primeiro caso ele faz a média aritmética das notas, isso é, soma todas e divide pelo número de notas.
7+6+5+4+3+2 = 27
Como temos 6 notas, a média será: 27/6 = 4.5
No segundo caso ele faz a média aritmética das notas, excluindo a maior e a menor.
6+5+4+3 = 18
Como temos 4 notas, a média será: 18/4 = 4.5
Para você fazer a média das 4 maiores notas, você precisa descobrir as duas menores notas, criar mais uma opção para a escolha desse tipo de media e na hora que for calcular a média, calcular da seguinte maneira:
media = ( media - menor - menor2 )/4;
-
Por exemplo, você verifica se ele quer ver a média com ou sem a subtração das maiores/menores, e na hora de calcular você calcula.
Por exemplo, antes de ler as médias.
printf( "Informe o tipo de media a ser calculada;\n[1] -> Media aritmetica\n[2] -> Media aritmetica sem a maior e menor" ); scanf( "%d" , &opcao );//Declarar essa variável lá encima
Daí na hora de calcular a média você faz:if( opcao == 1 ){ media = media/6;//Aqui inclui TODAS as notas }else if( opcao == 2 ){ media = ( media - maior - menor )/4;//Aqui tira a maior e a menor }
E assim por diante! :) Nesse segundo programa, você lê todos os números para a variavel Num[X], porem você não altera o X, então você fica substituindo a variavel Num[X], que no seu caso é Num[0], já que o X foi iniciado com 0. Duas soluções: Ou você coloca todos os indices na hora da leitura das variáveis;printf("Digite o PRIMEIRO numero:\n"); scanf("%d",&Num[X]);//&Num[0] printf("Digite o SEGUNDO numero:\n"); scanf("%d",&Num[X]);//&Num[1] ....
Ou você faz a leitura das variáveis em um laço de repetiçãowhile( X < 10 ){ printf( "Digite o %d numero: " , X ); scanf( "%d" , &Num[X] ); X++ } //Lembre-se de antes de começar outro laço de repetição, alterar o valor de X para 0 novamente
-
printf("\nD&igite o valor da SEXTA nota:\n"); scanf("%f",N6);
Não olhei tudo, batendo o olho eu ví isso:
Troque N6 por &N6
-
Vish, não sei se foi erro na hora de digitar aki, mais oh:
//Na main struct CPUTIMER_VARS //Na declaração struct CPUTIMER_REGS
Fiz um exemplo simples aqui, não tive maiores problemas:#include <stdio.h> union teste { int asd; float qqq; }; struct s { union teste t; int qwert; }; int main( int argc, char **argv ){ struct s a; int b; a.t.asd = 213; b = a.t.asd; printf( "%d" , b ); }
Uso ubuntu e estou compilando com gcc
Problema BIZARRO: fprintf para de imprimir...
em C, C++
Postado
Qual sistema operacional usado?
Qual o erro desse código que você postou?! Você tentou debugar o programa pra ver alguma coisa?!