Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - creiko

#1
Hola buenas me dejaron este trabajo en la universidad, alguien que sepa del tema me diga si esta bien hecho y si hay lago que mejorar me dice como gracias
adjunto lo que hice y el taller

1.   Elaborar una función que reciba el apuntador al primer nodo de la lista y devuelva el numero e nodos que lo componen

2.   Elaborar una función que reciba un apuntador P que apunta al primer nodo De una lista y un apuntador Q que apunta al primer nodo de una segunda lista. La función debe concatenar las dos listas así: el final de la primera lista debe encadenarse con el comienzo de la segunda lista. Cualquiera de las listas, o las dos, pueden estar vacías.


3.   Elaborar una función que reciba dos apuntadores, el apuntador CAB que apunta al primer nodo de la lista y un apuntador Q que apunta a cualquier nodo de la lista. La lista no se encuentra clasificada ascendente. La función debe romper la lista en dos. La primera lista debe incluir todos los nodos cuya información sea menor a Q -> INFO y la segunda todos los nodos cuya información sea mayor o igual a Q -> INFO

4.   elaborar una función que reciba la dirección de cualquier nodo en una lista. la función debe retirar ese nodo de la lista. ¿cuál no es imposible retirar de la lista?
NOTA:  la función solamente recibe un apuntador.


5.   Elaborar una función que reciba el apuntador al primer nodo de la lista y libere todos los nodos de la lista utilizando para cada uno la instrucción FREE (). Se debe devolver el apuntador recibido con el valor NULL.

6.   elaborar una función que reciba un apuntador al primer nodo de una lista. la función debe invertir la lista. la lista debe ser invertida recorriéndola solamente una vez. al final cada nodo debe apuntar al nodo que antes era su predecesor. la cabeza de la lista debe ser el nodo que al comienzo estaba al final y el nodo que antes era el primero, debe tener el valor NULL. gráficamente seria




7.elaborar una función que reciba un apuntador al primer nodo de una lista y devuelva dos apuntadores. el primer debe apuntar a una lista conformada por los nodos impares e la lista inicial y el segundo debe apuntar a una lista conformada por los dos nodos pares de la lista inicial. al final de la lista inicial debe liberarse de la memoria. por ejemplo, si la lista era:





Código (cpp) [Seleccionar]


#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#define localizar (struct nodo*) malloc(sizeof(struct nodo));
#define memoria_doble (struct list_doble*) malloc(sizeof(struct list_doble));
using namespace std;

struct nodo
{
  int inf;
  struct nodo *sig;
};
struct list_doble
{
  nodo *list;
  struct list_doble *enlace;
};
nodo *lista1 = NULL, *lista2 = NULL;
int n_nodos(nodo *);
//void crear_lista(nodo **);
bool crear_nodo();
nodo *concatenar_lista();
void llenar_listas();
void mostrar_lista(nodo*);
nodo *hacer_nodo();
void lista_rota(nodo *, nodo*);
nodo *buscar_nodo(int);
void retirar_nodo(nodo *);
nodo *liberar_nodos(nodo **);
void invertir_lista(nodo **);
list_doble *doble_puntero(nodo *);
int main()
{
  int opc,num_nodo=0,i=1;
  nodo *ele;
  list_doble *prueba=NULL;
  char enter;
  do
  {
    cout<<"\nMENU LISTAS\n\n"
        <<"1)\n"
        <<"2)Numero de nodos de la lista.\n"
        <<"3)Concatenar listas.\n"
        <<"4)Informacion mayor y menor a un nodo de la lista.\n"
        <<"5)Sacar un nodo de la lista.\n"
        <<"6)Liberar todos los nodos de la lista.\n"
        <<"7)Invertir la lista(en un recorrido).\n"
        <<"8)Nodos pares he impares de la lista.\n"
        <<"9)Llenar lista.\n"
        <<"10)Mostrar lista.\n"
        <<"11)Salir\n"
        <<"opcion: ";
        cin>>opc;
        if(opc != 11)
        {
          system("clear"); //system("cls") para windows
        }
    switch(opc)
    {
      case 1:break;

      case 2: cout<<"\nEl numero de nodos de la lista es: "<<n_nodos(lista1)<<endl;
              break;

      case 3: llenar_listas();
              break;
      case 4: mostrar_lista(lista1);
              cout<<"\nIngresa el numero de un nodo a buscar: ";
              cin>>num_nodo;
              ele = buscar_nodo(num_nodo);
              if(ele != NULL)
              {
                cout<<"Lista dividida";
                lista_rota(lista1,ele);
              }else
              {
                cout<<"\nNodo no encontrado."<<endl;
              }
              ele=NULL;
              break;
      case 5: cout<<"Lista de datos: \n";
              mostrar_lista(lista1);
              cout<<"Nodo a retirar: ";
              cin>>num_nodo;
              ele = buscar_nodo(num_nodo);
              if(ele != NULL)
              {
                retirar_nodo(ele);
                cout<<"\nNodo retirado correctamente\n";

              }else
              {
                cout<<"\nNodo no encontrado."<<endl;
              }
              ele=NULL;
              break;
      case 6: ele = liberar_nodos(&lista1);
              if(ele == NULL)
              {
                cout<<"\nMemoria liberada.\n";
              }else
              {
                cout<<"\nFallo al liberar memoria\n";
              }
              ele = NULL;
              break;
      case 7: cout<<"\nDatos de lista: \n";
              mostrar_lista(lista1);
              invertir_lista(&lista1);
              cout<<"\nLista invertida: \n";
              mostrar_lista(lista1);
              break;
      case 8: cout<<"\nDatos de lista: \n";
              mostrar_lista(lista1);
              prueba = doble_puntero(lista1);
              while(prueba != NULL)
              {
                if(i % 2 == 1)cout<<"\nDatos pares\n";
                else cout<<"\nDatos impares\n";
                invertir_lista(&prueba->list);
                mostrar_lista(prueba->list);
                prueba = prueba->enlace;
                i++;
              }
                break;
      case 9: lista1 = hacer_nodo();
              break;
      case 10:  mostrar_lista(lista1);
                break;
      case 11:  cout<<"\nGracias por usar saliendo...............\n";
                break;
      default: cout<<"La opcion no esta en el rango."<<endl;
    }

  }while(opc != 11);
/*



  8.

  lista1 = hacer_nodo();
  mostrar_lista(lista1);
  prueba = doble_puntero(lista1);
  cout<<"\n\n";
  while(prueba != NULL)
  {
    invertir_lista(&prueba->list);
    mostrar_lista(prueba->list);
    prueba = prueba->enlace;
    cout<<"\n";
  }
  */

  printf("\n");
  return 0;
}
list_doble *doble_puntero(nodo *lista)
{

  nodo *list_impares=NULL,*impAux=NULL, *list_pares=NULL,*parAux=NULL;
  list_doble *list_new=NULL, *aux_new=NULL;
  int i = 1,t=2;

  while(lista != NULL)
  {

    if(i % 2 == 0)
    {
      parAux = localizar;
      parAux->inf = lista->inf;
      parAux->sig = list_pares;
      list_pares = parAux;
    }else
    {
      impAux = localizar;
      impAux->inf = lista->inf;
      impAux->sig = list_impares;
      list_impares = impAux;
    }
    lista = lista->sig;
    i++;

  }

  for(int i = 1; i <= t; i++)
  {

    aux_new = memoria_doble;
    if(i % 2 == 0)aux_new->list = list_pares;
    else aux_new->list = list_impares;
    aux_new->enlace = list_new;
    list_new = aux_new;
  }

  return list_new;
}


void invertir_lista(nodo **ini)
{
  nodo *sig=NULL,
       *aux2=NULL,
       *aux=NULL;
        aux2=*ini;

  do{
    sig = aux2->sig;

    aux2->sig = aux;
    aux = aux2;

    if(sig != NULL)
    {
      aux2 = sig;
    }else
    {
      *ini = aux2;
    }

  }while(*ini != aux2);
}

nodo *liberar_nodos(nodo **ini)
{

  while(*ini != NULL)
  {
    free(*ini);
    *ini = (*ini)->sig;
  }
  *ini = NULL;
  return *ini;
}
void retirar_nodo(nodo *d_nod)
{
  nodo *aux = NULL, *q = NULL, *r = NULL,*n_despa=NULL;
  bool retirado = false;
  aux = lista1;
  int cont = 1;

  while(aux != NULL && retirado == false)
  {
    if(cont == 1 && aux == d_nod)
    {
      r = lista1;
      n_despa = r;
      lista1 = lista1->sig;
      retirado = true;
    }else
    {
        cont = 2;
        q = aux->sig;
        if(q == d_nod)
        {
          aux->sig = q->sig;
          n_despa = q;
          retirado = true;
        }
      }
    aux = aux->sig;
  }
}

nodo *buscar_nodo(int x)
{
  nodo *aux = NULL,*EleBus=NULL;
  bool encontrado = false;
  aux = lista1;
  int i = 1;
  while(aux != NULL && encontrado == false)
  {
    if(x == i)
    {
      EleBus = aux;
      encontrado = true;
    }
    aux = aux->sig;
    i = i + 1;
  }
//  if(encontrado) return EleBus;
//  else return EleBus = NULL;
  return EleBus;
}

void lista_rota(nodo *cad, nodo *q)
{
  nodo *listaA=NULL,*a=NULL, *listaB=NULL,*b=NULL;
  while(cad != NULL)
  {
    if(cad->inf < q->inf)
    {
      a = localizar;
      a->inf = cad->inf;
      a->sig = listaA;
      listaA = a;
    }
    if(cad->inf >= q->inf && &cad->inf != &q->inf)
    {
      b = localizar;
      b->inf = cad->inf;
      b->sig = listaB;
      listaB = b;
    }
    cad = cad->sig;
  }
  printf("\nLista con los elementos menores a %d \n",q->inf);
  mostrar_lista(listaA);
  printf("\nLista con los elementos mayores o iguales a %d \n",q->inf);
  mostrar_lista(listaB);
}

nodo *hacer_nodo()
{
  nodo *p=NULL, *q=NULL;
  //char cr[2];

  while(crear_nodo())
  {
    q = (struct nodo*) malloc(sizeof(struct nodo));
    cout<<"valor para el nodo: ";
    cin>>q->inf;
    cin.ignore(256,'\n');
    q->sig = p;
    p = q;
  }
  return p;
}

void mostrar_lista(nodo *list)
{
  int i = 1;
  while(list != NULL)
  {
    printf("%d) %d\n",i,list->inf);
    list = list->sig;
    i = i + 1;
  }
}


void llenar_listas()
{
  nodo *list=NULL;
  printf("\nLista A: \n");
  lista1 = hacer_nodo();
  printf("\nLista B: \n");
  lista2 = hacer_nodo();

  printf("Lista A\n");
  mostrar_lista(lista1);

  printf("Lista B\n");
  mostrar_lista(lista2);

  printf("Lista concatenada: \n");
  list = concatenar_lista();

  mostrar_lista(list);
}

nodo *concatenar_lista()
{

  nodo *eleFin = NULL;
  bool agregado = false;
  nodo *aux = NULL;
  aux = lista1;

  if(aux == NULL)
  {
    lista1 = lista2;
  }else
  {
    while(aux != NULL && agregado == false)
    {
        if(aux->sig == NULL)
        {
          aux->sig = lista2;
          agregado = true;
        }
        aux = aux->sig;
    }
  }
  eleFin = lista1;
  return eleFin;
}

int n_nodos(nodo *ini)
{

  int c_nodos = 0;
  while(ini != NULL)
  {
    c_nodos++;
    ini = ini->sig;
  }
  return c_nodos;
}

bool crear_nodo()
{
  char resp;
  cout << "\nDesear crear un nodo? s/n: ";
  cin>>resp;
  if(resp == 's' || resp == 'S')return true;
  else return false;
//  return (resp == 's' || resp == 'S');
}




MOD: Imagenes adaptadas a lo permitido.
#2
Ola estoy haciendo un menú de opciones para una lista
pero no he podido hacer la parte de modificar
he visto este código pero no es de la forma que debo hacerlo

Código (cpp) [Seleccionar]


void modificarDato(Numero **primerNumero)
{
    int nuevoDato;
    int posicion = 1;
    mostrarNumeros(*primerNumero);
    cout << "Ingrese Posicion: "; cin >> posicion;
    cout << "Ingrese nuevo numero: "; cin >> nuevoDato;
    //Si esta fuera del rango
    if (posicion < 1 || posicion > cantidad) {cout << "\n\aPosicion Erronea\n\n"; return;}
    Numero *auxiliar;
    auxiliar = *primerNumero;
    int contador = 1;
    //mientras contador sea distinto a la posicion
    while(contador != posicion) {auxiliar = auxiliar->sig; contador++;}
    auxiliar->dato = nuevoDato; //cambiamos el valor
    mostrarNumeros(*primerNumero);
}





de la forma que esto haciendo mi menú es así
esta es la parte e ingresar un numero al inicio de la fila

Código (cpp) [Seleccionar]


void insert_ini()
{
int elem = 0;
printf("\nEscriba el elemento: ");
scanf("%d",&elem);
lista = new nodo;
lista->informacion = elem;
lista->siguiente = inicio;
inicio = lista;
printf("\nElemento agregado satisfactoriamente\n");

system("pause");
}




he tratado e modificar el primer código de arriba
para que se parezca al segundo que tengo pero no he podido,
si alguien me hecha una mano en esa parte
#3
Ola que tal estoy haciendo esto dev c++
pero me sale este error

si alguien me ayuda lo agradeceria

O:\collect2.exe [Error] ld returned 1 exit status


Código (cpp) [Seleccionar]


#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "windows.h"
#include "stdlib.h"
#include "time.h"
#include "iostream"
#include "stdlib.h"
struct nodo{
int informacion;
struct nodo *siguiente;
};
int menu();
void agregar_nodo();
void listar();
void insertfinal();
nodo *inicio = NULL, *nuevo = NULL, *aux;
main()
{
int opc=0;
while(opc!=8)
{
switch (opc)
{
case 1:
agregar_nodo();
break;

case 2:
insertfinal();
break;
case 3:
break;
case 4:
listar();
break;
}
opc=menu();
}
}
int menu()
{
int opc;
printf("\n\n");
printf("1. Agregar elementos al inicio de la lista \n");
printf("2. Agregar elementos al final de la lista \n");
printf("3. Agregar elementos despues de \n");
printf("4. Listar elementos \n");
printf("5. Buscar elementos \n");
printf("6. Eliminar elementos \n");
printf("7. Eliminar lista \n");
printf("8. Fin de la ejecucion \n");
printf("\n\n");
printf("Seleccione una opcion \n");
scanf("%d",&opc);
printf("\n\n");
printf("la opcion elegida es: %d",opc);
printf("\n\n");
return opc;
}
typedef struct nodo *Tlista;
void agregar_nodo()
{
int elem;
printf("ingrese el elemento de la lista \n");
scanf("%d",&elem);
nuevo = new nodo;
nuevo->informacion=elem;
nuevo->siguiente=inicio;
inicio = nuevo;
printf("\n elemento agregado satisfactorimente \n");
}
void listar()
{
aux=inicio;
while(aux!=NULL)
{
printf("\n elemento: %d",aux->informacion);
aux = aux -> siguiente;
}
}
void insertfinal(int elem,nodo *lista)
{
nodo *nuevo, *aux2=lista;
nuevo = new nodo;
nuevo->informacion = elem;
nuevo->siguiente = NULL;
if(aux2 == NULL)
{
lista = nuevo;
}
else
{
while(aux2->siguiente != NULL)
{
aux2 = aux2->siguiente;
}
aux2->siguiente = nuevo;
}
}

#4
una pregunta

tengo que hacer un programa con 6 preguntas cada una de ellas con 4 opciones de respuesta
y con 5 formularios de la siguiente manera

formulario 1
pide usuario y contraseña

formulario 2
mensaje  nxxxxx
con un boton siguiente

formulario 3 con 3 preguntas
pregunta 1 con RadioButton
pregunta 2 con ComboBox
pregunta 3 con listbox
con un boton siguiente

formulario 4
pregunta 4 con RadioButton
pregunta 5 con listboxBox
pregunta 3 con listbox
con 2 botones

boton 1  debe decir aplicar cuestionario a usuario
boton 2  imprimir resultados

formulario 5
imprime las respuestas de los dos usuarios
ejemplo

usuario 1 .

pregunta 1 buena
pregunta 2 mala
pregunta 3 mala
pregunta 4 buena
pregunta 5 buena
pregunta 6 mala

usuario 2 .

pregunta 1 buena
pregunta 2 buena
pregunta 3 buena
pregunta 4 buena
pregunta 5 mala
pregunta 6 buena

la cosa es la siguiente tengo todo.
pero no he podido es como aplicarle al usuario 2 las preguntas,
sin que las respuestas sean las mismas del usuario 1

lo que he hecho es lo siguiente:

formulario 1
Código (vbnet) [Seleccionar]


Public Class Form1

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged

   
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim login, login1, password, password1 As Char


        login = "bernal"
        password = "1234"
        login1 = "meneses"
        password1 = "123"

        If TextBox1.Text = "bernal" And TextBox2.Text = "1234" Or TextBox1.Text = "meneses" And TextBox2.Text = "123" Then
            Form2.Show()
            Me.Hide()
            TextBox1.Text = ""
            TextBox2.Text = ""
        Else
            MsgBox(" Usuario o contraseña incorrectos")
            TextBox1.Text = ""
            TextBox2.Text = ""
        End If

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

    End Sub
End Class




formulario 2
Código (vbnet) [Seleccionar]

ublic Class Form2

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       
        Form3.Show()
        Me.Hide()
       
    End Sub
End Class


formulario 3
Código (vbnet) [Seleccionar]

Public Class Form3

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
       
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Form4.Show()
        Me.Hide()
    End Sub

    Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class


formulario 4
Código (vbnet) [Seleccionar]

Public Class Form4

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Form5.Show()
        Me.Hide()
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Button1.Visible = True

        ListBox1.Visible = False

        ListBox1.Items().Clear()




        Form1.Show()
        Me.Hide()

    End Sub

    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class


formulario 5
Código (vbnet) [Seleccionar]

Public Class Form5

    Private Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click
       
    End Sub

    Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim suma As Double
        suma = 0





        If Form3.RadioButton2.Checked = True Then
                Label7.Text = "Correcto"
                suma = suma + 0.8

            Else
                Label7.Text = "Incorrecto"
            End If

            If Form3.ComboBox1.SelectedItem = "Verdadero" Then
                Label8.Text = "correcto"
                suma = suma + 0.8
            Else
                Label8.Text = "Incorrecto"
            End If


            If Form3.ListBox1.SelectedItem = "Antivirus" Then
                Label9.Text = "correcto"
                suma = suma + 0.8
            Else
                Label9.Text = "Incorrecto"
            End If

            If Form4.RadioButton2.Checked = True Then
                Label27.Text = "correcto"
                suma = suma + 0.8
            Else
                Label27.Text = "Incorrecto"
            End If

            If Form4.ComboBox1.SelectedItem = "Verdadero" Then
                Label26.Text = "correcto"
                suma = suma + 0.8
            Else
                Label26.Text = "Incorrecto"
            End If

            If Form4.ListBox1.SelectedItem = "Virus informatico" Then
                Label25.Text = "correcto"
                suma = suma + 0.8
            Else
                Label25.Text = "Incorrecto"
            End If

        Label6.Text = suma



    End Sub
End Class


si alguien me hecha una manito en esa parte lo agraddeceria
#5
Código (vbnet) [Seleccionar]


Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
        ListBox1.Items.Clear()
        For Each Items As String In Form1.ComboBox1.Items
            ListBox1.Items.Add(Items)
        Next
    End Sub   



con esta código me salvaste la vida
era justo lo que necesitaba
Gracias amigo
#6
hice lo que dices y funciona bien
pero hay un problema que no deja modificar la listbox
el combobox lo tengo en formulario1 y el listbox lo tengo en un formulario 2
#7
Disculpen una pregunta

tengo 3 datos en un combobox
1
2
3
y necesito que al darle click en un un botón agregar se me abra un listbox con los mismos datos el combobox
1
2
3
y agregarle mas datos

el combobox lo tengo en formulario1 y el listbox lo tengo en un formulario 2

Código (vb) [Seleccionar]


ListBox1.Items.Add(TextBox1.Text)
Form1.ComboBox1.Items.Add(TextBox1.Text)
TextBox1.Text = ""



la parte de agregar mas datos desde listbox al combobox ya lo tengo, pero no he podido. es pasar la información del combobox al listbox.
si alguien me explica esa parte como se la hace le agradecería
#8
lo que pasa es que tengo que hacer es un formato de votaciones de 4 personas

los votos son de forma aleatoria:

num1 = candato 1

num2 = candato 2

num3 = candato 3

num4 = candato 4


form2 y  pasarlo a form4

ejemplo
los votos así
4
1
8
3
y el programa me muestra esto

4
1
8
3

pero lo correcto seria:
8
4
3
1

tengo este hecho hasta ahora pero tengo errores no se en que parte ayuda urgente

[code=vbnet]

Dim NUM1, NUM2, NUM3, NUM4 As Integer
        Dim MAYOR, MEDIO, MENOR, MEDIO1 As Double
        NUM1 = A1
        NUM2 = A2
        NUM3 = A3
        NUM4 = A4
        If NUM1 = NUM2 And NUM2 = NUM3 And NUM3 = NUM4 And NUM1 = NUM4 Then
            Form4.Label6.Text = "g"
            Form4.Label10.Text = Me.Label10.Text
            Form4.Label7.Text = "g"
            Form4.Label11.Text = Me.Label11.Text
            Form4.Label8.Text = "g"
            Form4.Label12.Text = Me.Label13.Text
            Form4.Label9.Text = "g"
            Form4.Label13.Text = Me.Label14.Text
        Else
            If NUM1 = NUM2 And NUM2 = NUM3 Then
                Form4.Label6.Text = "g"
                Form4.Label10.Text = Me.Label10.Text
                Form4.Label7.Text = "g"
                Form4.Label11.Text = Me.Label11.Text
                Form4.Label8.Text = "g"
                Form4.Label12.Text = Me.Label13.Text
                If NUM2 > NUM4 Then
                    MAYOR = NUM2
                    MENOR = NUM4
                Else
                    MAYOR = NUM4
                    MENOR = NUM2
                End If
             
                Form4.Label6.Text = "g"
                Form4.Label10.Text = Me.Label10.Text
                Form4.Label9.Text = "g"
                Form4.Label13.Text = Me.Label14.Text
            Else
                If NUM1 = NUM2 And NUM2 = NUM4 Then
                    Form4.Label6.Text = "g"
                    Form4.Label10.Text = Me.Label10.Text
                    Form4.Label7.Text = "g"
                    Form4.Label11.Text = Me.Label10.Text
                    Form4.Label9.Text = "g"
                    Form4.Label13.Text = Me.Label11.Text
                    If NUM2 > NUM3 Then
                        MAYOR = NUM2
                        MENOR = NUM3
                    Else
                        MAYOR = NUM3
                        MENOR = NUM2
                    End If
                   
                    Form4.Label6.Text = "g"
                    Form4.Label10.Text = Me.Label10.Text
                    Form4.Label9.Text = "g"
                    Form4.Label13.Text = Me.Label11.Text
                Else
                    If NUM1 = NUM3 And NUM3 = NUM4 Then

                        Form4.Label6.Text = "g"
                        Form4.Label10.Text = Me.Label10.Text
                        Form4.Label8.Text = "g"
                        Form4.Label12.Text = Me.Label11.Text
                        Form4.Label9.Text = "g"
                        Form4.Label13.Text = Me.Label10.Text
                       
                        If NUM1 > NUM2 Then
                            MAYOR = NUM1
                            MENOR = NUM2
                        Else
                            MAYOR = NUM2
                            MENOR = NUM1
                        End If
           
                        Form4.Label6.Text = "g"
                        Form4.Label10.Text = Me.Label10.Text
                        Form4.Label9.Text = "g"
                        Form4.Label13.Text = Me.Label11.Text
                    Else
                        If NUM2 = NUM3 And NUM3 = NUM4 Then
                            'Label10.CAPTION = "SEGUNDO, TERCERO Y CUARTO SON IGUALES"
                            Form4.Label7.Text = "g"
                            Form4.Label11.Text = Me.Label11.Text
                            Form4.Label8.Text = "g"
                            Form4.Label12.Text = Me.Label13.Text
                            Form4.Label9.Text = "g"
                            Form4.Label13.Text = Me.Label14.Text
                       
                            If NUM1 > NUM2 Then
                                MAYOR = NUM1
                                MENOR = NUM2
                            Else
                                MAYOR = NUM2
                                MENOR = NUM1
                            End If
                            'Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                            'Label6.CAPTION = "NUMERO MENOR: " & MENOR
                            Form4.Label6.Text = "g"
                            Form4.Label10.Text = Me.Label10.Text
                            Form4.Label9.Text = "g"
                            Form4.Label13.Text = Me.Label14.Text
                        Else
                            If NUM1 = NUM2 And NUM3 <> NUM4 Then
                                ' Label10.CAPTION = "PRIMERO Y EL SEGUNDO SON IGUALES"
                                Form4.Label6.Text = "g"
                                Form4.Label10.Text = Me.Label10.Text
                                Form4.Label7.Text = "g"
                                Form4.Label11.Text = Me.Label11.Text
                                If NUM1 > NUM3 And NUM1 > NUM4 Then
                                    MAYOR = NUM1
                                    If NUM3 > NUM4 Then
                                        MEDIO = NUM3
                                        MENOR = NUM4
                                    Else
                                        MEDIO = NUM4
                                        MENOR = NUM3
                                    End If
                                End If
                                'Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                'Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                'Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                Form4.Label6.Text = "g"
                                Form4.Label10.Text = Me.Label10.Text
                                Form4.Label8.Text = "g"
                                Form4.Label12.Text = Me.Label11.Text
                                Form4.Label9.Text = "g"
                                Form4.Label13.Text = Me.Label14.Text
                       
                            Else
                                If NUM1 = NUM3 And NUM2 <> NUM4 Then
                                    ' Label10.CAPTION = "PRIMERO Y EL TERCERO SON IGUALES"
                                    Form4.Label6.Text = "g"
                                    Form4.Label10.Text = Me.Label10.Text
                                    Form4.Label8.Text = "g"
                                    Form4.Label12.Text = Me.Label13.Text


                                    If NUM1 > NUM2 And NUM1 > NUM4 Then
                                        MAYOR = NUM1
                                        If NUM2 > NUM4 Then
                                            MEDIO = NUM2
                                            MENOR = NUM4
                                        Else
                                            MEDIO = NUM4
                                            MENOR = NUM2
                                        End If
                                    End If
                                    'Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                    ' Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                    ' Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                    Form4.Label6.Text = "g"
                                    Form4.Label10.Text = Me.Label10.Text
                                    Form4.Label7.Text = "g"
                                    Form4.Label11.Text = Me.Label13.Text
                                    Form4.Label9.Text = "g"
                                    Form4.Label13.Text = Me.Label14.Text

                                Else
                                    If NUM1 = NUM4 And NUM2 <> NUM3 Then
                                        'Label10.CAPTION = "PRIMERO Y EL CUARTO SON IGUALES"
                                        Form4.Label6.Text = "g"
                                        Form4.Label10.Text = Me.Label10.Text
                                        Form4.Label9.Text = "g"
                                        Form4.Label13.Text = Me.Label14.Text
                                        If NUM1 > NUM3 And NUM1 > NUM2 Then
                                            MAYOR = NUM1
                                            If NUM3 > NUM2 Then
                                                MEDIO = NUM3
                                                MENOR = NUM2
                                            Else
                                                MEDIO = NUM2
                                                MENOR = NUM3
                                            End If
                                        End If
                                        ' Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                        ' Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                        ' Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                    Else
                                        If NUM2 = NUM3 And NUM1 <> NUM4 Then
                                            ' Label10.CAPTION = "SEGUNDO Y TERCERO SON IGUALES
                                            Form4.Label7.Text = "g"
                                            Form4.Label11.Text = Me.Label11.Text
                                            Form4.Label8.Text = "g"
                                            Form4.Label12.Text = Me.Label13.Text
                                           
                                           

                                            If NUM2 > NUM1 And NUM2 > NUM4 Then
                                                MAYOR = NUM2
                                                If NUM1 > NUM4 Then
                                                    MEDIO = NUM1
                                                    MENOR = NUM4
                                                Else
                                                    MEDIO = NUM4
                                                    MENOR = NUM1
                                                End If
                                            End If
                                            'Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                            'Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                            'Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                            Form4.Label6.Text = "g"
                                            Form4.Label10.Text = Me.Label10.Text
                                            Form4.Label8.Text = "g"
                                            Form4.Label12.Text = Me.Label11.Text
                                            Form4.Label9.Text = "g"
                                            Form4.Label13.Text = Me.Label14.Text
                                           
                                        Else
                                            If NUM2 = NUM4 And NUM1 <> NUM3 Then
                                                'Label10.CAPTION = "SEGUNDO Y CUARTO SON IGUALES"

                                                Form4.Label7.Text = "g"
                                                Form4.Label11.Text = Me.Label13.Text
                                                Form4.Label9.Text = "g"
                                                Form4.Label13.Text = Me.Label14.Text
                                                If NUM2 > NUM1 And NUM2 > NUM3 Then
                                                    MAYOR = NUM2
                                                    If NUM1 > NUM3 Then
                                                        MEDIO = NUM1
                                                        MENOR = NUM3
                                                    Else
                                                        MEDIO = NUM3
                                                        MENOR = NUM1
                                                    End If
                                                End If
                                                ' Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                                ' Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                                '  Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                                Form4.Label6.Text = "g"
                                                Form4.Label10.Text = Me.Label10.Text
                                                Form4.Label7.Text = "g"
                                                Form4.Label11.Text = Me.Label13.Text
                                                Form4.Label9.Text = "g"
                                                Form4.Label13.Text = Me.Label14.Text
                                             
                                            Else
                                                If NUM3 = NUM4 And NUM1 <> NUM2 Then
                                                    'Label10.CAPTION = "TERCERO Y CUARTO SON IGUALES"
                                                    Form4.Label8.Text = "g"
                                                    Form4.Label12.Text = Me.Label13.Text
                                                    Form4.Label9.Text = "g"
                                                    Form4.Label13.Text = Me.Label14.Text
                                                    If NUM3 > NUM1 And NUM3 > NUM2 Then
                                                        MAYOR = NUM3
                                                        If NUM1 > NUM2 Then
                                                            MEDIO = NUM1
                                                            MENOR = NUM2
                                                        Else
                                                            MEDIO = NUM2
                                                            MENOR = NUM1
                                                        End If
                                                    End If
                                                    'Label5.CAPTION = "NUMERO MAYOR: " & MAYOR
                                                    'Label6.CAPTION = "NUMERO MEDIO: " & MEDIO
                                                    'Label7.CAPTION = "NUMERO MENOR: " & MENOR
                                                    Form4.Label6.Text = "g"
                                                    Form4.Label10.Text = Me.Label10.Text
                                                    Form4.Label8.Text = "g"
                                                    Form4.Label12.Text = Me.Label11.Text
                                                    Form4.Label9.Text = "g"
                                                    Form4.Label13.Text = Me.Label14.Text
                                                 


                                                Else
                                                    If NUM1 <> NUM2 And NUM1 <> NUM3 And NUM1 <> NUM4 And NUM2 <> NUM3 And NUM2 <> NUM4 And NUM3 <> NUM4 Then
                                                        ''Label10.CAPTION = " "
                                                        If NUM1 > NUM2 And NUM1 > NUM3 And NUM1 > NUM4 Then
                                                            MAYOR = NUM1
                                                            If NUM2 > NUM3 And NUM2 > NUM4 And NUM3 > NUM4 Then
                                                                MEDIO = NUM2
                                                                MEDIO1 = NUM3
                                                                MENOR = NUM4
                                                            Else
                                                                If NUM2 > NUM3 And NUM2 > NUM4 And NUM4 > NUM3 Then
                                                                    MEDIO = NUM2
                                                                    MEDIO1 = NUM4
                                                                    MENOR = NUM3
                                                                Else
                                                                    If NUM3 > NUM2 And NUM3 > NUM4 And NUM2 > NUM4 Then
                                                                        MEDIO = NUM3
                                                                        MEDIO1 = NUM2
                                                                        MENOR = NUM4
                                                                    Else
                                                                        If NUM3 > NUM2 And NUM3 > NUM4 And NUM4 > NUM2 Then
                                                                            MEDIO = NUM3
                                                                            MEDIO1 = NUM4
                                                                            MENOR = NUM2
                                                                        Else
                                                                            If NUM4 > NUM3 And NUM4 > NUM2 And NUM3 > NUM2 Then
                                                                                MEDIO = NUM4
                                                                                MEDIO1 = NUM3
                                                                                MENOR = NUM2
                                                                            Else
                                                                                MEDIO = NUM4
                                                                                MEDIO1 = NUM2
                                                                                MENOR = NUM3
                                                                            End If
                                                                        End If
                                                                    End If
                                                                End If
                                                            End If

                                                        ElseIf NUM2 > NUM1 And NUM2 > NUM3 And NUM2 > NUM4 Then
                                                            MAYOR = NUM2
                                                            If NUM1 > NUM3 And NUM1 > NUM4 And NUM3 > NUM4 Then
                                                                MEDIO = NUM1
                                                                MEDIO1 = NUM3
                                                                MENOR = NUM4
                                                            Else
                                                                If NUM1 > NUM3 And NUM1 > NUM4 And NUM4 > NUM3 Then
                                                                    MEDIO = NUM1
                                                                    MEDIO1 = NUM4
                                                                    MENOR = NUM3
                                                                Else
                                                                    If NUM3 > NUM1 And NUM3 > NUM4 And NUM1 > NUM4 Then
                                                                        MEDIO = NUM3
                                                                        MEDIO1 = NUM1
                                                                        MENOR = NUM4
                                                                    Else
                                                                        If NUM3 > NUM1 And NUM3 > NUM4 And NUM4 > NUM1 Then
                                                                            MEDIO = NUM3
                                                                            MEDIO1 = NUM4
                                                                            MENOR = NUM1
                                                                        Else
                                                                            If NUM4 > NUM3 And NUM4 > NUM1 And NUM3 > NUM1 Then
                                                                                MEDIO = NUM4
                                                                                MEDIO1 = NUM3
                                                                                MENOR = NUM1
                                                                            Else
                                                                                MEDIO = NUM4
                                                                                MEDIO1 = NUM1
                                                                                MENOR = NUM3
                                                                            End If
                                                                        End If
                                                                    End If
                                                                End If
                                                            End If

                                                        ElseIf NUM3 > NUM1 And NUM3 > NUM2 And NUM3 > NUM4 Then
                                                            MAYOR = NUM3
                                                            If NUM1 > NUM2 And NUM1 > NUM4 And NUM2 > NUM4 Then
                                                                MEDIO = NUM1
                                                                MEDIO1 = NUM2
                                                                MENOR = NUM4
                                                            Else
                                                                If NUM1 > NUM2 And NUM1 > NUM4 And NUM4 > NUM2 Then
                                                                    MEDIO = NUM1
                                                                    MEDIO1 = NUM4
                                                                    MENOR = NUM2
                                                                Else
                                                                    If NUM2 > NUM1 And NUM2 > NUM4 And NUM1 > NUM4 Then
                                                                        MEDIO = NUM2
                                                                        MEDIO1 = NUM1
                                                                        MENOR = NUM4
                                                                    Else
                                                                        If NUM2 > NUM1 And NUM2 > NUM4 And NUM4 > NUM1 Then
                                                                            MEDIO = NUM2
                                                                            MEDIO1 = NUM4
                                                                            MENOR = NUM1
                                                                        Else
                                              &
#9
ola buenas alguien que me revise este código y me diga si estas bien hecho y si se puede hacer un poco mas corto

Esto es lo que hace
1.   Cree una 5 funciones, donde cada una reciba en un arreglo de tamaño 100, una cadena de caracteres. Cada función debe retornar:
1.   La longitud de la cadena
2.   El número de vocales
3.   Caracteres alfabéticos en minúsculas
4.   Caracteres alfabéticos en mayúsculas
5.   Caracteres dígitos.

   Ejemplo: Si se leyó la siguiente cadena:
      Todo Lo Que Puedas Imaginar es reaL 2016
   Cada función retornará:
   Longitud:  40
   Vocales: 15
   Minúsculas: 23
   Mayúsculas: 6
   Digitos: 4


Código (cpp) [Seleccionar]


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>

int contar_vocales(char *);
int mayusculas(char a[]);
int minusculas(char a[]);
int contar_caracteres(char a[]);
int contar_numeros(char a[]);

int main()
{
char cad[500],*p;
int longi,x,P,V;
int mini,mayu;

printf("Ingrese un texto: ");
gets(cad);
longi = strlen(cad);
//Contador palabras
P=0;




mayu= mayusculas(cad);
mini = minusculas(cad);

printf("\nCantidad de MAYUSCULAS: %d",mayu);

printf("\nCantidad de minusculas: %d",mini);
//vocales y caracteres
printf("\nCantidad de Vocales: %d",contar_vocales(cad));
V = contar_vocales(cad);
printf("\nCantidad de caracteres: %d",contar_caracteres(cad));
printf("\nCantidad de muneros: %d",contar_numeros(cad));

}

int mayusculas(char a[])//
{
int i;
int contador=0;// CONTADOR DE PALABRAS
int verificador=0;//VERIFICADOR DEL COMIENZO Y FINAL DE CADA PALABRA

for (i=0; a[i]!='\0'; i++)
{
if (a[i]>='A' && a[i]<='Z')
{
contador=contador + 1;
}
}
return (contador);
}

int minusculas(char a[])//
{
int i;
int contador=0;// CONTADOR DE PALABRAS
int verificador=0;//VERIFICADOR DEL COMIENZO Y FINAL DE CADA PALABRA

for (i=0; a[i]!='\0'; i++)
{
if (a[i]>='a' && a[i]<='z')
{
contador=contador + 1;
}
}
return (contador);
}
       
int contar_vocales(char *cad)
{
int cont=0;
char *aux=cad;

while(*aux)
{
if(*aux=='a'||*aux=='e'||*aux=='i'||*aux=='o'||*aux=='u'||*aux=='A'||*aux=='E'||*aux=='I'||*aux=='O'||*aux=='U')
cont++;
aux++;              
  }
  return cont;
}

int contar_caracteres(char a[])
{
int i;
int contador=0;// CONTADOR DE PALABRAS

for (i=0; a[i]!='\0'; i++)
{
contador++;
}
return (contador);
}

int contar_numeros(char a[])
{
int i;
int contador=0;// CONTADOR DE PALABRAS

for (i=0; a[i]!='\0'; i++)
{
if (a[i]>='1' && a[i]<='9' or a[i]=='0')
{
contador++;
}

}
return (contador);
}



Gracias
#10
tengo todo lo que me piden en un solo cartón;  los 15 numero aleatorios, contador de buenas y malas, y el juego se para cuando lleno el cartón y no logro pasar todo eso a los demás cartones.

he visto esta orden que es e pasar de un formulario a otro
Dim frm As New Form2()
frm.Show()

la ayuda es como hago para que toda esa información se pase a los 4 cartones restantes, y  se me generen los 15 números diferentes en cada cartón y el contador de buenas y malas en cada unos de ellos. y cuando uno de estos se llene me diga ganaste con el cartón ejemplo (cartón numero 2)