elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5
31  Programación / Programación C/C++ / Instruccion if en: 22 Octubre 2012, 13:58 pm
Este codigo debe buscar el numero mayor de un array de punteros mostrar su valor y posicion, pero en la instruccion IF me da error

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int main()
  5. {
  6.  int *array[10];
  7.  
  8.  for(int i=0; i<10; i++)
  9.  {
  10.    printf(" \n Ingrese valor de array[%d]:  ",i); scanf("%d", (array+i));
  11.  }
  12.  
  13.  int may=0, pos = 0;
  14.  for(int i=0; i<10; i++)
  15.    if (*(array+i) > may)
  16.    {
  17.      may = *(array+i);
  18.      pos = i;
  19.    }
  20.  
  21. for(int i=0; i<10; i++)
  22.  {
  23.    printf(" \n valor posicion array[%d]= %d ", i, *(array+i));
  24.  }
  25.  
  26.  printf(" \n El valor mayor es: %d , en la pos array[i]", may, pos);
  27.  printf("\n\n);
  28.  system("pause");
  29. }
  30.  
  31.  
32  Programación / Programación C/C++ / Problema al mostrar posicion de un array en: 19 Octubre 2012, 18:19 pm
El siguiente codigo se encarga de buscar el numero mayor de un array de enteros, luego al final cuando se muestra la posicion de origen donde se ubico ese valor, no es el correcto, y aqui el codigo:

Código
  1. #include<stdio.h>            
  2. #include<stdlib.h>
  3. #include<iostream>
  4. using namespace std;
  5.  
  6. main(){
  7.       int tem=0,may=0,pos=0,i,j,array[9];
  8.        for(i=0;i<10;i++){
  9.        cout<<"\n ingrese valor de array["<<i<<"]= ";
  10.        cin>>*(array+i);
  11.        }
  12.        for(i=0;i<9;i++){
  13.         for(j=i+1;j<10;j++){
  14.          if(*(array+i)>*(array+j)){
  15.              pos=i;                      
  16.           tem=*(array+i);           /*intercambio*/
  17.           *(array+i)=*(array+j);                      
  18.          *(array+j)=tem;
  19.          may=tem;                         /* asignacion */
  20.          }
  21.          else
  22.          pos=j;
  23.          may=*(array+j);
  24.  
  25.           }
  26.             }
  27.          cout<<"\n Valor mayor= "<<may<<" En la posicion array["<<pos<<"]";
  28.  
  29.          cout<<"\n\n";
  30.          system("pause");
  31.          }
  32.  
33  Programación / Programación C/C++ / Re: ACLARACION EN ACCESO A STRUCT en: 11 Octubre 2012, 17:18 pm
Si tendre que reforzar la base, ahora estoy probando otra manera de manipular los punteros en este caso, si tengo:

Código
  1. struct{ int linea1;
  2.           int linea2;
  3.           int linea3;
  4.           int linea4;
  5.           int linea5;
  6.          }turno1,turno2,turno3,*pt;


 
Código
  1. pt=&turno1;
  2. pt=&turno2;
  3. pt=&turno3;

Es decir:

Código
  1. struct{ int miembro1;
  2.          int miembro2;
  3.          int miembro n;
  4.         }variable1, variable2, variable n,*pt;
  5.  
  6. Es necesario asignarle la direccion de cada variable a pt ?
  7.  
  8. pt=&variable1;
  9. pt=&variable2;
  10. pt=&variable n;

 ;D



34  Programación / Programación C/C++ / Re: ACLARACION EN ACCESO A STRUCT en: 10 Octubre 2012, 20:45 pm
Gracias avesudra, tenia en cuenta que faltaba los prototipos de funciones, el codigo no lo he terminado, tambien para la proxima omitire las mayusculas, la mayoria no lo utiliza, ahora tengo una nueva duda en la linea 20, el compilador indica :
 variable or field `ingreso' declared void

Código
  1. #include<stdio.h>            
  2. #include<stdlib.h>
  3. #include<iostream>
  4. using namespace std;
  5.  
  6.  
  7. struct { char asignatura1;
  8.         char asignatura2;
  9.         char asignatura3;
  10.         char asignatura4;
  11.         char asignatura5;
  12.         } seccion1,seccion2,seccion3;
  13.  
  14.         struct { struct seccion1;
  15.                  struct seccion2;
  16.                  struct seccion3;
  17.                  } secciones, *pt=&secciones;
  18.  
  19. int menu(int opc);
  20. void ingreso(struct *,int *);
  21.  
  22. main(){
  23.  
  24.       struct *pt;
  25.       int opc,n,*cat;
  26.  
  27.  
  28.       pt=(secciones*)malloc(sizeof(secciones));
  29.  
  30.       switch (menu(opc)){
  31.       case 1:
  32.       ingreso(pt->secciones.seccion1,&n=5);
  33.       break;
  34.       case 2:
  35.       ingreso(pt->secciones.seccion2,&n=4);
  36.       break;
  37.       case 3:
  38.       ingreso(pt->secciones.seccion3,&n=2);
  39.       break;
  40.       case 4:
  41.       break;
  42.       default:
  43.       cout<<"\n OPCION INVALIDA";
  44.       break;
  45.       }
  46.  
  47.       system("pause");
  48.       }
  49.  
  50.       int menu(int opc){
  51.       cout<<"\n MENU \n";
  52.       cout<<"1..Ingreso sección 1 (5 materias)\n";
  53.       cout<<"2..Ingreso sección 2 (4 materias)\n";
  54.       cout<<"3..Ingreso sección 3 (2 materias)\n";
  55.       cout<<"4..salir\n";
  56.       cin>>opc;
  57.       return(opc);
  58.       }
  59.  
  60. void ingreso(struct pt->secciones.seccion1,int *cat){
  61. do{
  62. if(*cat>0){
  63. cout<<"\n Ingrese asignatura 1: "; cin>>pt->secciones.seccion1.asignatura1;
  64. cout<<"\n Ingrese asignatura 2: "; cin>>pt->secciones.seccion1.asignatura2;
  65. }
  66. if(*cat>2){
  67. cout<<"\n Ingrese asignatura 3: "; cin>>pt->secciones.seccion2.asignatura3;
  68. cout<<"\n Ingrese asignatura 4: "; cin>>pt->secciones.seccion2.asignatura4;
  69. }
  70. if((*cat>4)&&(*cat<=5)){
  71. cout<<"\n Ingrese asignatura 5: "; cin>>pt->secciones.seccion1.asignatura5;
  72. }
  73. }while(*cat<=5);
  74. }
35  Programación / Programación C/C++ / ACLARACION EN ACCESO A STRUCT en: 10 Octubre 2012, 17:42 pm
Este programa no esta terminado solo quiero que me aclaren si al acceder a cada struct en este caso seccion1, seccion2, seccion3, debo declarar un puntero por cada struct o puedo utilizar un puntero general supongamos *pt?

struct { struct seccion1;
         struct seccion2;
         struct seccion3;
         } secciones, *p1=&secciones,*p2=secciones,*p3=secciones;
         
struct { char asignatura1;
         char asignatura2;
         char asignatura3;
         char asignatura4;
         char asignatura5;
         } seccion1,seccion2,seccion3,

main(){
       
       struct *p1,*p2,*p3,*cat;
       int opc,n;
       
       p1=(secciones*)malloc(sizeof(secciones));
       p2=(secciones*)malloc(sizeof(secciones));
       p3=(secciones*)malloc(sizeof(secciones));
     
int menu(){
       cout<<"\n MENU \n";
       cout<<"1..Ingreso sección 1 (5 materias)\n";
       cout<<"2..Ingreso sección 2 (4 materias)\n";
       cout<<"3..Ingreso sección 3 (2 materias)\n";
       cout<<"4..Volver al menu \n";
       cout<<"5..salir\n";
       cin>>opc;
       return(opc);
       }
       
       switch (menu()):
       case 1:
       ingreso(p1->secciones.seccion1,&n=5);
       break;
       case 2:
       ingreso(p2->secciones.seccion2,&n=4);
       break;
       case 3:
       ingreso(p3->secciones.seccion3,&n=2);
       break;
       case 4:
       menu();
       break;
       default:
       break;
       }
       
void ingreso(struct p1->secciones.seccion1,int *cat){

if(*cat>0){
cout<<"\n Ingrese asignatura 1: "; cin>>p1->secciones.seccion1.asignatura1;
cout<<"\n Ingrese asignatura 2: "; cin>>p1->secciones.seccion1.asignatura2;

if(*cat<=2){
cout<<"\n Ingrese asignatura 3: "; cin>>p1->secciones.seccion2.asignatura3;
cout<<"\n Ingrese asignatura 4: "; cin>>p1->secciones.seccion2.asignatura4;
}
if(*cat<=5){
cout<<"\n Ingrese asignatura 5: "; cin>>p1->secciones.seccion1.asignatura5;
}
}

36  Programación / Programación C/C++ / Re: PROBLEMA EN COMPILACION Y FUNCION en: 5 Octubre 2012, 22:02 pm
Porque en ese bucle no hay nada que hacer en su cuerpo, sin embargo el lenguaje C requiere que todo bucle tenga un cuerpo. Para cumplir con esa regla se pone una sentencia nula:
Código
  1. /* sentencia nula (nada) */ ;

La convencion en estos casos es colocar la sentencia nula en una linea aparte:
Código
  1. while (cadena[++i] != '\0')
  2.   ;

Un saludo
[/quote]

Gracias rir3760 ,Quiere decir que cuando una funcion de control contiene instrucciones simples como las anteriores, no es de primera necesidad las llaves?

37  Programación / Programación C/C++ / Re: PROBLEMA EN COMPILACION Y FUNCION en: 5 Octubre 2012, 16:18 pm
leosansan tu codigo me funciono, gracias por tu aporte, pero tengo algunas dudas:

fgets(cadena,100,stdin); /* stdin funciona como archivo no? de ser asi: cadena no deberia primero ser escrita en stdin para luego ser leida en esa archivo*/

 while (cadena[++i]!='\0');
    i=i-1;
    while (i>=0)
        printf ("%c",cadena [i--]);
    printf ("\nPresione ENTER para salir:");
    while (getchar()!='\n') ;

/*por que en los while colocas ; y no llaves { }*/
38  Programación / Programación C/C++ / PROBLEMA EN COMPILACION Y FUNCION en: 3 Octubre 2012, 23:33 pm
Deseo que el usuario introduzca una cadena y luego sea impresa al inverso, el problema es que el compilador me indica el siguiente error : 28  invalid conversion from `int' to `char*' y ademas en algunas ocasiones me salta a otro codigo fuente de instrucciones desconocidas.

#include<stdlib.h>
#include<stdio.h>
#include<string.h>

 char invertir(char cad[80]);
 int i,tam,nuevo[80];
main(){
       
       char cad[80];
       printf("Ingrese tamaño de la cadena (maximo 80 caracteres) : ");
       scanf("%d",&tam);
       
       printf("\n Ingrese cadena: ");
       
       for(i=0;i<tam;i++){
        scanf("%d",&cad);
       }
       
       printf("\n Cadena inversa: ");
       printf("%s",invertir(cad));
       printf("\n\n");
       system("pause");
       }
       
       char invertir(char cad[]){
            do{
             for(i=tam-1;i<=0;i++){             
            strcpy(nuevo,cad);
            return (nuevo);
            }while((getchar(cad))!=NULL)
                                   
            }
              }
           
39  Programación / Programación C/C++ / PROBLEMA ENTRE ARRAY MULTIDIMENSIONAL Y FUNCIONES en: 28 Septiembre 2012, 22:10 pm
Deseo transferir array[3][6] a cada una de las funciones descritas en el programa, pero en la primera funcion llamada llenar el compilador me indica `array' undeclared (first use this function), hay error o falta algo?, soy novata.

#include<stdio.h>
#include<iostream>
using namespace std;

void llenar(int array[3][6]);
 void imprimir(int array[3][6]);
 void suma(int array[3][6],int array2[3][3],int n,int h);
 int i,j;
main(){
       
 
        llenar(array);
        imprimir(array);
        suma(array,array2);
        system("pause");
        }
 
       
       void llenar(int array[][6]){
       for(i=1;i<=3;i++){
        for(j=1;j<=6;j++){
         printf("\n valor posicion [%d][%d]=",i,j);
         scanf("%d",&array[j]);
         }
          }
           }
         
         void imprimir(int array[][6]){
         for(i=1;i<=3;i++){
        for(j=1;j<=6;j++){
         printf("\n posicion[%d][%d]=%d",i,j,array[j]);
         }
           }
             }
         
         void suma(int array[][], int array2[][],int n,int h){
       
         for(i=1;i<=3;i++){
          n=1,h=0;                 
        for(j=1;j<=3;j++){
         array2[j]=array[j+h]+array[j+n];
         n++;
         h++;
         }
           }
         imprimir(array2);
       }
40  Programación / Programación C/C++ / Programa que calcula factorial de un valor en: 19 Julio 2012, 02:58 am
#include<iostream>
#include<string.h>

using namespace std;
int n,i,fact;
int factorial( int n );
main (){

cout<<"ingrese numero:"<<endl;
cin>>n;
if(n<1){
cout<<"ERROR, intente de nuevo"<<endl;
}
else
cout<<"\n factorial:"<<factorial(n)<<"\n"<<endl;
system("pause");
}

int factorial(int n){
int fact=1;
for(n;n>=1;n--)
{
fact=fact*n;
}
return(fact);
}
Páginas: 1 2 3 [4] 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines