Fecha y hora actual: Miércoles 13 Nov 2019 07:19
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Problema en c++ - Números k-emparejados

Responder al Tema

Índice del Foro > C, C#, Visual C++ > Problema en c++ - Números k-emparejados

Autor Mensaje
maricarmeniii



Registrado: 21 Oct 2019
Mensajes: 1

Mensaje Publicado: Lunes 21 Oct 2019 17:33

Título del mensaje: Problema en c++ - Números k-emparejados

Responder citando

Algoritmo iterativo.

El problema:
Dos números se llaman k-emparejadoscuando cuando el valor absoluto de su diferencia es exactamente k(es decir, u y v están k-emparejados cuando |u–v| = k ). Por ejemplo, 7 y 14 están 7-emparejados. Observa que todo número está 0-emparejado consigo mismo. Diseña un algoritmo eficiente que, dado un vector estrictamente creciente de enteros int a[n] (n>=0) y un número k>=0, determine el número de parejas de números en a que están k-emparejados.

La entrada termina con una línea que empieza por -1. Cada vez que lee un caso de prueba, el programa invoca a una función num_k_emparejados que determina el número de parejas de números k-emparejados, y escribe dicho número por la salida estándar. A continuación, se muestra un ejemplo de entrada procesable por este programa, y de salida producida (suponiendo una implementación adecuada de num_k_emparejados):

Entrada Salida
5 3 2
1 4 5 6 8 1
4 2 3
1 4 5 6
3 0
1 2 3
-1

Si me podéis ayudar con la función unsigned int num_k_emparejados lo agradecería.

Esqueleto de lo que llevo:

Código:

Código:

#include <algorithm>
#include <iostream>

using namespace std;


/*

PRECONDICION DE LA FUNCION:

 
*/
unsigned int num_k_emparejados(int v[], unsigned int n, unsigned int k);
/*
POSTCONDICION DE LA FUNCION:

 
 */
 
 

unsigned int num_k_emparejados(int v[], unsigned int n, unsigned int k) {
    /* CUERPO DE LA FUNCION */

}   

/*
Complejidad: orden de complejidad del algoritmo:

*/



bool procesa_caso() {
   int v[100];
   int n, k;
   cin >> n;
   if (n != -1) {
      cin >> k;
      for (int i = 0; i < n; i++) {
         cin >> v[i];
      }
      cout << num_k_emparejados(v, n, k) << endl;
      return true;
   }
   else {
      return false;
   }
}

int main() {
   while (procesa_caso());
}

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Desarrollar problema vb.net

Dav2k6 Visual Basic .NET 0 Miércoles 03 Jul 2019 09:12 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema con mostrar datos en JTable con Iterat...

mariaelhacker Java 0 Lunes 11 Mar 2019 13:25 Ver último mensaje
El tema está bloqueado: no pueden editarse ni agregar mensajes.

Precio 100 numeros

Yuu Bolsa de trabajo 4 Lunes 25 Feb 2019 13:11 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema con el archivo .htaccess

P3p3 Temas generales 3 Domingo 18 Feb 2018 23:35 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,