Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda plz con unos programas en c

Estas en el tema de Ayuda plz con unos programas en c en el foro de C/C++ en Foros del Web. Hola como dice en el titulo necesito ayuda para hacer tres programas 1.- Se dan de entrada n números diferentes de 0. Imprima la palabra ...
  #1 (permalink)  
Antiguo 24/11/2008, 19:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Ayuda plz con unos programas en c

Hola como dice en el titulo necesito ayuda para hacer tres programas

1.- Se dan de entrada n números diferentes de 0. Imprima la palabra “si” si los números fueron dados en forma ascendente.

2.- Calcule e imprima la sumatoria desde t=1 hasta t=n de T!/(t-1)!


3.-De una matriz T de 60*40 numeros enteros genere un vector A que contenga la suma de las columnas de T y un vector B con las suma de los renglones de T Imprima la matriz y los dos Vectores


Espero me puedan ayudar tengo esto pero no me corren

1)
#include <stdio.h>
#include <conio.h>
#include <string>

using namespace std;

main()
{
int p,n,x,c;
string ban;
n=0; x=0; ban="si"; p=0; c=0;
while(n>0)
{ scanf("%d", &n); }
while(x<0 || x>0)
{ scanf("%d", &x); }
p=x;
c++;
while(x>0 || x<0)
{ scanf("%d", &x); }
while(c<n)
{ if (p>=x) ban = "no";
else
p=x;
c++;
}
printf("%s", ban);
getch();
}



2)
#include <stdio.h>
#include <conio.h>

main()
{
int n,f,c,cf,cf1,divf;
n=0, c=0, f=0, cf=0, cf1=0;
do
{ scanf("%d", &n);} while(n>0);
do
{
c=n;
f=n;
c--;
if(c==0) cf=1; else f=f*c;
if(c<1) cf=f; else c--;
if(c==0) cf=1; else f=f*c;
n--;
if(n==0) cf1=1;
else
{ c=n; f=n; c--; }
if(c==0) cf1=1; else f=f*c;
do
{
if(c<1) cf1=f; else c--;
if(c==0) cf1=1; else f=f*c;
}while(c==0);
divf=cf/cf1;
cf += divf;
}while(n==0);

printf("%d", cf);
}

Última edición por end_of_anubis; 24/11/2008 a las 19:58
  #2 (permalink)  
Antiguo 24/11/2008, 22:41
Avatar de StevKenshinX  
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 28
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ayuda plz con unos programas en c

Hola amigo esta es una forma generalizada puede que te sirva para otro problema parecido a este que trata sobre factoriales ( hablo de tu ejercicio 2 )

Código:
#include <iostream.h>
#include <stdlib.h>
//HECHO POR StevKenshinX =D

int factorial(int n);

int main()
{     int t=1,rep=0,n,num,den,i;
      cout<<"Ingrese El numero T \n";
      cin>>n;

      for(i=1;i<=n;i++)
      {
      num=factorial(i)  ;
      den=factorial(i-1) ;
      rep=(num/den)+rep;
      }

      cout<<"factorial "<<rep<<"\n";

      system("PAUSE");
      return 0;
}

int factorial(int n){
      if(n<=1)
      {return 1;}
      else
      {return n * factorial(n-1);}
      }
Pero Si En realidad tratamos tu ejercicio, Sobra solo con esto, antes del codigo esta explicacion.

- Como tenemos arriba " t! " esto es igual a t*(t-1)*(t-2)*......
- Y abajo tenemos " (t-1)! " esto es igual a (t-1)*(t-2)*(t-3)...
-Como final date cuenta que en el de arriba y el de abajo hay terminos en comun y como resultado final al dividirlos nos kedaria solo " t " y esto nos llevaria ha hacer una Suma de Numeros Consecutivos , cuya formula es S=t(t+1)/2 . sin tener que hacer un for o while para ir sumando todo los numeros. Ahora Si lee el codigo que es simple.


Código:
#include <iostream.h>
#include <stdlib.h>

//HECHO POR StevKenshinX =D

int main()
{     int n,resultado;
      cout<<"Ingrese El numero T \n";
      cin>>n;
      resultado=n*(n+1)/2;
      cout<<"La sumatoria es " <<resultado<<"\n";

      system("PAUSE");
      return 0;
}

PD: No entendi tu ejercicio 1 y no lei la 3 por falta de tiempo pero si me das una pauta sobre la 1 puede ke cuando entre un rato lo haga, cdt salu2 .
  #3 (permalink)  
Antiguo 24/11/2008, 23:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Ayuda plz con unos programas en c

Cita:
Iniciado por StevKenshinX Ver Mensaje
Hola amigo esta es una forma generalizada puede que te sirva para otro problema parecido a este que trata sobre factoriales ( hablo de tu ejercicio 2 )

Código:
#include <iostream.h>
#include <stdlib.h>
//HECHO POR StevKenshinX =D

int factorial(int n);

int main()
{     int t=1,rep=0,n,num,den,i;
      cout<<"Ingrese El numero T \n";
      cin>>n;

      for(i=1;i<=n;i++)
      {
      num=factorial(i)  ;
      den=factorial(i-1) ;
      rep=(num/den)+rep;
      }

      cout<<"factorial "<<rep<<"\n";

      system("PAUSE");
      return 0;
}

int factorial(int n){
      if(n<=1)
      {return 1;}
      else
      {return n * factorial(n-1);}
      }
Pero Si En realidad tratamos tu ejercicio, Sobra solo con esto, antes del codigo esta explicacion.

- Como tenemos arriba " t! " esto es igual a t*(t-1)*(t-2)*......
- Y abajo tenemos " (t-1)! " esto es igual a (t-1)*(t-2)*(t-3)...
-Como final date cuenta que en el de arriba y el de abajo hay terminos en comun y como resultado final al dividirlos nos kedaria solo " t " y esto nos llevaria ha hacer una Suma de Numeros Consecutivos , cuya formula es S=t(t+1)/2 . sin tener que hacer un for o while para ir sumando todo los numeros. Ahora Si lee el codigo que es simple.


Código:
#include <iostream.h>
#include <stdlib.h>

//HECHO POR StevKenshinX =D

int main()
{     int n,resultado;
      cout<<"Ingrese El numero T \n";
      cin>>n;
      resultado=n*(n+1)/2;
      cout<<"La sumatoria es " <<resultado<<"\n";

      system("PAUSE");
      return 0;
}

PD: No entendi tu ejercicio 1 y no lei la 3 por falta de tiempo pero si me das una pauta sobre la 1 puede ke cuando entre un rato lo haga, cdt salu2 .


TY bro corre muy bn el codigo q pusiste grax
saludos
  #4 (permalink)  
Antiguo 25/11/2008, 22:08
Avatar de StevKenshinX  
Fecha de Ingreso: noviembre-2008
Ubicación: Lima
Mensajes: 28
Antigüedad: 15 años, 5 meses
Puntos: 2
problema 3

Regresando a tus preguntas, hehe toy ke practico de nuevo c++ porke la verdad no recuerdo en fin AKi te va la pregunta 3.

PD: Como te dije la 1 no entiendo el enunciado , Ke pide =S .


Código:
#include <iostream.h>
#include <stdlib.h>
//Hecho por StevKenshinX =D
int main()
{     int T[40][40],f=60,c=40,A[40],B[40],i,j,z=0,y=0,sum;
      for(i=0;i<f;i++)
      {for(j=0;j<c;j++)
      {
          cout<<"Ingrese la posicion i="<<i<<" ; j="<<j<<"\n";
          cin>>T[i][j];
      }
      }
      //sumando filas
      for(i=0;i<f;i++)
      {  sum=0;
         for(j=0;j<c;j++)
      {
          sum=T[i][j]+sum; ;
      }
          A[z]=sum;
          z++;
      }

      //sumando Columnas
      for(i=0;i<c;i++)
      {  sum=0;
         for(j=0;j<f;j++)
      {
          sum=T[j][i]+sum; ;
      }
          B[y]=sum;
          y++;
      }

      //Impresion de Matriz , Si deseas probar el programa debido a que es muy grande ingresarias muxos datos
      //Prueba el programa cambiando los valores de f y c .
       for(i=0;i<f;i++)
      { cout<<"\n";
      for(j=0;j<c;j++)
      {
          cout<<""<<T[i][j]<<"\t";
      }
      }

      cout<<"\n";
      cout<<"\n";
      //Impresion vector A
      cout<<"Vector A \t";
      for(i=0;i<f;i++)
      {
        cout<<""<<A[i]<<"\t";
      }

      cout<<"\n";
      cout<<"\n";
      //Impresion vector B
      cout<<"Vector B \t";
      for(i=0;i<c;i++)
      {
        cout<<""<<B[i]<<"\t";
      }

      system("PAUSE");
      return 0;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:31.