//tp 5
#include <stdio.h>
#include <math.h>
int main(){
// 1. Escribir un programa que presente por pantalla los n�meros del 1 al 20.
int i=1;
for (i=1;i<=20;i++){
printf("%d\n",i);
//2. Ingresar N n�meros, presentar por pantalla el promedio de ellos.
int c = 1;
int n,x,p;
int ac=0;
printf("ingresa la cantidad de numeros que quieres promediar:\n");
scanf("%d",&n);
for(c=1;c<=n;c++){
printf("ingresa el numero que quieres promediar:\n");
scanf("%d",&x);
ac=ac+x;
if(c>n){
p=ac/n;
printf("El promedio es: %d",p);
//3. Se ingresan N n�meros enteros, presentar el promedio de los pares y el
promedio de los impares. El cero no se cuenta.
int c=1, n,x, acp=0, aci=0, cp=0, ci=0;
printf ("ingrese la cantidad de numeros: \n ");
scanf("%d",&n);
for (c=1; c<=n; c++){
printf ("ingrese un numero: \n ");
scanf("%d",&x);
if (x%2==0){
acp=acp+x;
cp++;
}
else {
aci=aci+x;
ci++;
}
}
printf ("El promedio de los pares es: %d \n", acp/cp);
printf ("El promedio de los impares es: %d \n", aci/ci);
// 4. Se ingresan N valores num�ricos. Se desea saber cu�ntos son positivos,
cu�ntos negativos y cu�ntos iguales a cero.
int n, x;
int cp = 0, cc = 0, cn = 0;
printf("Ingresa la cantidad de n�meros:\n");
scanf("%d", &n);
for(int c = 1; c <= n; c++) {
printf("Ingresa el n�mero:\n");
scanf("%d", &x);
if (x > 0) {
cp++;
}
else if (x == 0) {
cc++;
}
else if (x<0) {
cn++;
}
}
printf("Los n�meros positivos son: %d\n", cp);
printf("Los n�meros negativos son: %d\n", cn);
printf("Los n�meros iguales a cero son: %d\n", cc);
// 5. Se ingresan N valores num�ricos. Determinar el mayor y el menor de los
valores ingresados.
int N, v;
int max, min;
printf("Ingrese la cantidad de valores: ");
scanf("%d", &N);
if (N > 0) {
printf("Ingrese un valor : ");
scanf("%d", &v);
max = v;
min = v;
for (int i = 1; i < N; i++) {
printf("Ingrese el valor: ");
scanf("%d", &v);
if (v > max) {
max = v;
}
if (v < min) {
min = v;
}
}
printf("El mayor valor es: %d\n", max);
printf("El menor valor es: %d\n", min);
}
else {
printf("La cantidad de valores debe ser mayor que cero.\n");
}
// 6. Dada la ecuaci�n de la recta y = 2/3 x - 2, ingresar las coordenadas de N
puntos en el plano. Mostrar: a) los puntos pertenecen a la recta, b) los puntos que
est�n arriba y c) los que est�n debajo de ella.
int c,x,y,n;
int pa,pd,pe,f;
printf("ingresar cantidad N puntos en el plano:\n");
scanf("%d",&n);
for(c=0;c<n;c++){
printf("Ingrese la coordenada x del punto:\n");
scanf("%d",&x);
printf ("Ingrese la coordenada y del punto:\n");
scanf("%d",&y);
f=2/3*x-2;
if(y==f){
pe++;
}
else{
if (f<y){
pa=++;
}
else {
pd++;
}
}
}
printf("Los puntos que pertenecen a la recta son: %d \n",pe);
printf("Los puntos que estan arriba de la recta son: %d \n",pa);
printf("Los puntos que estan debajo de la recta son: %d \n",pd);
//7. Ingresar un n�mero natural de 4 o m�s d�gitos, invertir el orden de sus
d�gitos Presentar por pantalla el n�mero ingresado y su invertido
int N, or, ni = 0;
printf("Ingresar un n�mero natural de 4 o m�s d�gitos:\n");
scanf("%d", &N);
if (N < 1000) {
printf("El n�mero debe tener 4 o m�s d�gitos.\n");
or = N;
while (N > 0) {
ni = ni * 10 + N % 10;
N = N / 10;
}
printf("El n�mero original es: %d\n", or);
printf("El n�mero invertido es: %d\n", ni);
//8. Ingresar un n�mero expresado en el sistema binario, convertirlo al sistema
[Link] ambos n�meros en el centro de la pantalla.
int nb, p, nd = 0,c=0;
printf("Ingrese un n�mero en el sistema binario: ");
scanf("%d", &nb);
int x= nb;
while (nb > 0) {
p = nb % 10;
nd += p * pow(2, c);
nb /= 10;
c++;
}
// Presentar ambos n�meros en pantalla
printf("El n�mero en el sistema decimal es: %d\n", nd);
printf("El n�mero en el sistema binario es: %d\n", x);
//9. Ingresar un n�mero, entero positivo, expresado en el sistema decimal,
convertirlo al sistema binario. Presentar por pantalla el n�mero en decimal y en
binario.
int n, d,p=0,b=0,x,x1;
printf("Ingrese un n�mero entero positivo del sistema decimal \n");
scanf("%d", &n);
printf("El n�mero en decimal es: %d \n", n);
d=n;
while (n>0){
x=n%2;
x1=x*pow(10,p);
p=p+1;
b=b+x1;
n=n/2;
}
printf("El n�mero en binario es: %d \n", b);
//10. Ingresar dos n�meros de cuatro d�gitos expresados en el sistema binario,
presentar por pantalla ambos n�meros y su suma
int n1, n2, b1, b2, suma = 0, p = 0, c = 0;
int suma1;
printf("Ingrese un n�mero de cuatro d�gitos del sistema binario: ");
scanf("%d", &n1);
printf("Ingrese otro n�mero de cuatro d�gitos del sistema binario: ");
scanf("%d", &n2);
int originaln1 = n1;
int originaln2 = n2;
while (n1 > 0 || n2 > 0 ) {
b1 = n1 % 10;
b2 = n2 % 10;
int sum = b1 + b2 + c;
if (sum >= 2) {
c= 1;
sum = sum - 2;
}
else {
c = 0;
}
suma1 = suma + sum * pow(10, p);
suma = suma1;
p = p + 1;
n1 = (n1 - b1) / 10;
n2 = (n2 - b2) / 10;
}
printf("Los n�meros son: %04d y %04d\n", originaln1, originaln2);
printf("La suma es: %04d\n", suma);
//11. Ingresar dos n�meros enteros positivos N1 y N2, con N1 < N2 y un n�mero x
cualquiera,presentar por pantalla los m�ltiplos de x comprendidos entre N1 y N2.
int n1, n2, x;
printf("Ingrese un n�mero entero positivo: ");
scanf("%d", &n1);
printf("Ingrese otro n�mero entero positivo mayor que el anterior: ");
scanf("%d", &n2);
printf("Ingrese un n�mero cualquiera: ");
scanf("%d", &x);
printf("Los m�ltiplos son:\n");
for (int i = n1; i <= n2; i++) {
if (i % x == 0) {
printf("%d \n", i);
}
}
//12. Ingresar un n�mero de 4 d�gitos, presentar por pantalla todos sus divisores.
int num;
int i=1;
printf("ingresa un n�mero de 4 digitos\n");
scanf("%d",&num);
while(i<num){
if(num%i==0){
printf("los divisores son %d\n",i);
i++;
//13. Ingresar un n�mero natural N. Sin dividir ni multiplicar determinar si ese
valor es o no par. Presentar por pantalla el resultado.
int n;
printf("Ingrese un n�mero: ");
scanf("%d", &n);
int y = n;
while (n >= 2) {
n -= 2;
}
if (n == 0) {
printf("El n�mero %d es par\n", y);
} else {
printf("El n�mero %d es impar\n", y);
}
//14. Ingresar dos n�meros enteros positivos N1 y N2, con N1 < N2, sumar los
n�meros enteros comprendidos entre N1 y N2. Presentar por pantalla dicha suma y un
mensaje que indique de donde proviene la suma.
int n1, n2, s = 0, c;
printf("Ingrese un n�mero entero positivo (N1): \n");
scanf("%d", &n1);
printf("Ingrese un n�mero entero positivo mayor que N1 (N2): \n");
scanf("%d", &n2);
c = n1 + 1;
printf("Los n�meros comprendidos entre %d y %d son: \n", n1, n2);
while (c < n2) {
s = s + c;
printf("%d ", c);
c++;
}
printf("\nLa suma de los n�meros comprendidos entre %d y %d es: %d\n", n1, n2,
s);
//15. Ingresar un valor L encuentre el valor de N de manera tal que se cumpla que:
1 + 2 + 3 + 4 +. . .+ N <= L Presentar por pantalla el valor de N.
int L, N = 0, ac = 0;
printf("Ingrese un valor L: ");
scanf("%d", &L);
while (ac <= L) {
N++;
ac = ac+N;
}
if (ac > L) {
N=N-1;
printf("El valor de N es: %d\n", N);
}
//16. Si se ingresa un n�mero natural presentar por pantalla el desarrollo del
factorial de dicho n�mero, como as� tambi�n el valor del [Link]: 8! = 8
* 7 * 6 * 5 * 4 * 3 * 2 * 1
int fact=1;
int f;
printf("ingresa un n�mero natural\n");
scanf("%d",&f);
while(f>1){
printf(" %d *",f);
fact=fact*f;
f--;
printf(" 1 = %d",fact);
//17. Ingresar las coordenadas de N puntos en el plano, las mismas forman con el
origen de coordenadas un tri�ngulo rect�ngulo. Presentar por pantalla la suma de
las superficies negativas y la suma de las positivas, indicar adem�s la cantidad de
tri�ngulos en cada cuadrante.
int acp = 0, acn = 0, cp = 0, cn = 0;
int t1 = 0, t2 = 0, t3 = 0, t4 = 0;
int n, x, y, s;
printf("Ingrese la cantidad de puntos en la gr�fica: ");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("Ingrese la coordenada x del punto %d: ", i + 1);
scanf("%d", &x);
printf("Ingrese la coordenada y del punto %d: ", i + 1);
scanf("%d", &y);
s = (x * y) / 2;
if (s < 0) {
acn += s;
cn++;
} else {
acp += s;
cp++;
}
if (x > 0 && y > 0) {
t1++;
} else if (x < 0 && y > 0) {
t2++;
} else if (x < 0 && y < 0) {
t3++;
} else if (x > 0 && y < 0) {
t4++;
}
}
printf("La suma de las superficies negativas es: %d\n", acn);
printf("La suma de las superficies positivas es: %d\n", acp);
printf("Cantidad de tri�ngulos en el primer cuadrante: %d\n", t1);
printf("Cantidad de tri�ngulos en el segundo cuadrante: %d\n", t2);
printf("Cantidad de tri�ngulos en el tercer cuadrante: %d\n", t3);
printf("Cantidad de tri�ngulos en el cuarto cuadrante: %d\n", t4);
//18. Dados 4 c�rculos conc�ntricos simulando un blanco para tiro, con centro en
(0,0) y cuyos radios y puntajes son los siguientes:
/* a) c�rculo 1 radio = 1 para r<=1 : 4 puntos
b) c�rculo 2 radio = 2 para r>1 y r<=2 : 3 puntos
c) c�rculo 3 radio = 3 para r>2 y r<=3: 2 puntos
d) c�rculo 4 radio=4 para r>3 y r<=4: 1 punto
Si se ingresan las coordenadas de N puntos en el plano, presentar por pantalla
el puntaje total obtenido por la posici�n de los puntos y su promedio
*/
int i, ac=0,r=0,n,x,y,c=1,p;
printf("ingresar cantidad N puntos en el plano:\n");
scanf("%d",&n);
while(c<=n){
printf("ingresar coordenada x del punto \n");
scanf("%d",&x);
printf("ingresar coordenada y del punto\n");
scanf("%d",&y);
c=c+1;
}
r = sqrt(x * x + y * y); ;
for(i=1;i<=n;i++){
if (r<=1){
ac=ac+4;
}
else if (r<=2){
ac=ac+3;
}
else if (r<=3){
ac=ac+2;
}
else if (r<=4){
ac=ac+1;
}
}
p=ac/n;
printf("el puntaje total obtenido %d \n" ,ac);
printf("el promedio de puntos es %d \n" ,p);
/*19. Un pobre le dijo a un rico: " cada d�a le pagar� $100. A cambio, Ud. me dar�
el primer d�a
$1, el segundo $2, el tercero $4, el cuarto $8, es decir cada d�a el doble del
anterior, y as�
hasta terminar el mes de 30 d�as". Calcular:
a) las cantidades entregadas por el rico y por el pobre,
b) a partir de qu� d�a el rico le dio m�s dinero al pobre, si es que esto
ocurri�.*/
int i=1, dias=30,cp=0,cr=0,acp=0;
while (i<=dias){
cp=cp+100;
cr= i*2+cr;
if (cp<cr){
printf (" el dia %d el rico dio mas dinero que el pobre\n",i);
}
i++;
}
printf ("el rico dio %d\n",cr);
printf ("el pobre dio %d\n",cp);
/*20. Un juego consiste en tirar un dado y sumar sus puntos hasta que el valor
obtenido en
un tiro sea par. Dise�ar un algoritmo que pida el valor del tiro y presente por
pantalla
la cantidad de tiros y el puntaje total, sin contar el �ltimo tiro. */
int d, Puntaje = 0, cT = 0,i = 0,n;
while (1) {
printf("Ingrese el valor del tiro: ");
scanf("%d", &d);
cT++;
if (d % 2 == 0) {
break;
} else {
Puntaje =Puntaje + d;
}
}
printf("La cantidad de tiros (sin contar el �ltimo tiro) es: %d\n", cT - 1);
printf("El puntaje total (sin contar el �ltimo tiro) es: %d\n", Puntaje);
return 0;