Problemas em C (resolvido)

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Problemas em C (resolvido)

Mensagempor Red_Beret » Sábado Nov 12, 2005 14:21

Bem, tenho aki 4 exercicios para fazer em C, que tenmho de entregar ate 2ª feira, e tou aki com 2 pekenos problemas :oops:

1º Problema

Enunciado - Calcular a média de X números (compreendidos entre 1 e 100) introduzidos pelo utilizador;

Fiz assim
Código: Seleccionar todos
#include <stdio.h>

void main(){
   int soma=0,media,numero,ct=-1;
   do{
      printf("Introduza um numero entre 1 e 100 (0 para terminar)\n");
      scanf("%d",&numero);
      if(numero>=1&&numero<=100)
         soma=soma+numero;
         ct++;         
   }while(numero!=0);
      printf("A soma e %d\n",soma);
      media=soma/ct;
      printf("A media e %d\n",media);

}
      


O prob é que ele está a incrementar o contador (ct) mesmo quando ponho numeros maiores que 100 (ou menores que 0), o que faz com que depois a media fique mal calculada. O que é que está mal?


2º Problema

Enunciado - Verificar se um dado número inteiro é primo (só é divisível por 1 e pelo
próprio).


Alguem me explica como é que ponho o prog a verificar se o nº é primo? :?

Help. É urgente
Editado pela última vez por Red_Beret em Domingo Nov 13, 2005 16:19, num total de 1 vez.
Imagem
Red_Beret
Membro Vitalício
Membro Vitalício
 
Mensagens: 2334
Registado: Sexta Set 17, 2004 11:13

Mensagempor Aziraphale » Sábado Nov 12, 2005 14:51

#include <stdio.h>

void main(){
int soma=0,media,numero,ct=0;
do{
printf("Introduza um numero entre 1 e 100 (0 para terminar)\n");
scanf("%d",&numero);
if((numero >= 1) && (numero <= 100))
{
soma=soma+numero;
ct++;
}
}while(numero!=0);
printf("A soma e %d\n",soma);
media=soma/ct;
printf("A media e %d\n",media);

}


assim de repente...o contador deveria ser inicializado a 0.

if((numero >= 1) && (numero <= 100))
{
soma=soma+numero;
ct++;
}


acho que é só

o dos números primos:
http://www.inf.unibz.it/~calvanese/teac ... imo.c.html

e vê lá se passas a fazer os trabalhos de casa com mais antecedencia :)
Editado pela última vez por Aziraphale em Sábado Nov 12, 2005 15:07, num total de 1 vez.
Aziraphale
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quinta Nov 06, 2003 22:26

Mensagempor Moebius » Sábado Nov 12, 2005 14:54

Código: Seleccionar todos
#include <stdio.h>

void main(){
   int soma=0,media,numero,ct=-1;
   do{
      printf("Introduza um numero entre 1 e 100 (0 para terminar)\n");
      scanf("%d",&numero);
      if(numero>=1&&numero<=100){
         soma=soma+numero;
         ct++;
         }     
   }while(numero!=0);
      printf("A soma e %d\n",soma);
      media=soma/ct;
      printf("A media e %d\n",media);

}


Tinhas que circuscrever o ciclo do if, porque se usas if sem {} ele só considera a linha seguinte como a clausula a executar caso o if seja verdadeiro.

Quanto aos numeros primos podes optar por diversos estrategias, incluido força bruta ou factorização como o Sieve of Atkin
Acer 7720G - Core 2 Duo T5250 - 2048 Mb RAM - 250 GB HD - 17" WXGA - nVidia Geforce 8400M GS 256 Mb
Shortly will be running on Ubuntu Gnome, Firefox and Thunderbid
Moebius
Membro de Prata
Membro de Prata
 
Mensagens: 136
Registado: Segunda Out 06, 2003 18:28
Localização: Lisboa ou Madeira, conforme o mês do ano

Mensagempor Red_Beret » Sábado Nov 12, 2005 15:05

Aziraphale Escreveu:
e vê lá se passas a fazer os trabalhos de casa com mais antecedencia :)


Ja ta. Tks

Lol, ele so nos enviou as cenas ontem. Não nos da quase tempo nenhum para fazer
Imagem
Red_Beret
Membro Vitalício
Membro Vitalício
 
Mensagens: 2334
Registado: Sexta Set 17, 2004 11:13

Mensagempor tofas » Domingo Nov 13, 2005 16:13

sobre os numeros primos pode ver aqui algumas versoes...em C e C++ ... :wink:
Imagem

so quem sabe que nao sabe procura saber...os numeros dominam o mundo!! :P
Avatar do Utilizador
tofas
Aprendiz
Aprendiz
 
Mensagens: 88
Registado: Segunda Mai 16, 2005 16:14


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 4 visitantes

cron