|
Mostrar Temas
|
Páginas: [1] 2 3
|
1
|
Programación / Programación C/C++ / No encuentro el error en este codigo para ordenar
|
en: 17 Febrero 2018, 18:39 pm
|
Buenas, Tengo hecho este codigo para ordenar un array usando el campo key que es un int, pero no me lo ordena del todo bien y no se donde esta el error, me podrian ayudar? #include <stdio.h> typedef struct { char data[4096]; int key; } item; item array[] = { {"Juan", 3}, {"Pedro", 4}, {"Victor", 2}, {"Antonio", 5}, {"Alejandro", 1}, }; void sort(item *a, int n) { int i = 0, j = 0; int s = 1; item* p; for(; i < n & s != 0; i++) { s = 0; p = a; j = n-1; do { if( p->key > (p+1)->key) { item t = *p; *p = *(p+1); *(p+1) = t; s++; } } while ( --j >= 0 ); } } int main() { int i; sort(array,5); for(i = 0; i < 5; i++){ printf("Array[%d] = { %s, %d}\n", i , array [i ]. data, array [i ]. key); } return 0; }
Muchas gracias de antemano
|
|
|
2
|
Programación / Java / [AYUDA] Como reflejar una Matriz
|
en: 23 Octubre 2017, 11:09 am
|
Buenas, tengo un array bidimensional que forma una matriz, y lo que quiero es hacer la matriz reflejada es decir:
0 1 ---> 1 0 4 3 ---> 3 4
Muchas gracias de antemano
|
|
|
3
|
Programación / Java / Factorial
|
en: 6 Octubre 2017, 17:52 pm
|
Buenas, tengo un problema con el siguiente codigo: package factorial; public class Factorial { public static int factorial (int n) { int fact = 1; if (n < 0) { fact = 0; } else if ( n == 0){ fact = 1; } else { fact = fact * n; } return fact; } public static int combinatorio (int n, int k) { int combi = factorial (n) / (factorial(k) * factorial(n-k)); return combi; } public static void main (java. lang. String[] args ) { for (int i = 0; i < 6; ++i) { for (int j = 0; j <= i; ++j) System. out. print(Factorial. combinatorio(i,j ) + " "); } } }
La salida deberia ser: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Pero sin embargo me sale: 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 Para compilar y ejecutar estoy usando el Eclipse 4.4 sobre java 1.8.0 Muchas gracias de antemano
|
|
|
4
|
Programación / Programación C/C++ / Escribir funcion equivalente en C
|
en: 23 Mayo 2017, 17:17 pm
|
Buenas, escribia porque no se como sacar una funcion equivalente en C del siguiente codigo escrito en asm: .global rgb2gray .equ COEF1, 3483 .equ COEF2, 11718 .equ COEF3, 1183 .text rgb2gray: ldr r3, =COEF1 mul r0, r3, r0 ldr r3, =COEF2 mla r0, r3, r1, r0 ldr r3, =COEF3 mla r0, r3, r2, r0 mov r0, r0, lsr #14 mov pc, lr
Si me pudieseis ayudar estaria genial. Muchas gracias de antemano
|
|
|
5
|
Programación / ASM / Funcion equivalente en C
|
en: 23 Mayo 2017, 14:12 pm
|
Buenas, escribia porque no se como sacar una funcion equivalente en C del siguiente codigo escrito en asm: .global rgb2gray .equ COEF1, 3483 .equ COEF2, 11718 .equ COEF3, 1183 .text rgb2gray: ldr r3, =COEF1 mul r0, r3, r0 ldr r3, =COEF2 mla r0, r3, r1, r0 ldr r3, =COEF3 mla r0, r3, r2, r0 mov r0, r0, lsr #14 mov pc, lr
Si me pudieseis ayudar estaria genial. Muchas gracias de antemano
|
|
|
6
|
Programación / Programación C/C++ / Normalizar un Vector
|
en: 10 Mayo 2017, 14:57 pm
|
Buenas, Teniendo el siguiente vector: typedef double tArray[MAX_TAM]; typedef struct { tArray vector; int tamV; } tVector;
Como hago para que una funcion tVector normailizar(const tVector& v) me devuelva el vector normailzado con la primera componente igual a 1.0??? Muchas gracias de antemano
|
|
|
8
|
Sistemas Operativos / GNU/Linux / AYUDA Como instalar Ubuntu 17.04 junto a WIndows 10
|
en: 22 Abril 2017, 12:52 pm
|
Buenas, creo que este tema va en este foro, pero si me equivoco, lo siento y lo movere al foro correspondiente.
Mi pregunta es, como puedo en mi ordenador que tiene Windows 10 instalar Ubuntu 17.04 de manera que al apagar el ordenador e iniciarlo de nuevo pueda elegir el SO a utilizar. Eso si, no se si hay manera de hacerlo sin que la particion de Win10 pierda ningun dato. Muchas Gracias de antemano
|
|
|
9
|
Programación / Programación C/C++ / AYUDA Problema con dos listas ordenadas C++
|
en: 21 Abril 2017, 16:56 pm
|
Buenas, tengo un problema, teniendo dos listas ordenadas, correspondientes al siguietne codigo: const int MAX_M = 20; const int MAX_V = 100; typedef struct { int codigo; string nombre; }tMueble; typedef tMueble losMuebles[MAX_M]; typedef struct { losMuebles muebles; int tamLM; }tListaM; typedef struct { int anyo; int mes; int dia; }tFecha; typedef struct { int codigo; tFecha fecha; int unidades; }tVenta; typedef tVenta lasVentas[MAX_V]; typedef struct { lasVentas ventas; int tamLV; }tListaV;
Cada lista lee un archivo distinto: La primera lista, tListaM, lee un archivo que contiene solamente un codigo de 4 digitos y una cadena de caracter que es el nombre. La segunda lista, tListaV, lee un archivo que contiene una fecha en formato aa/mm/dd, un codigo de 4 digitos, que puede corresponder o no, a algun codigo de la lista anterior; y por ultimo un numero entero. Lo lee correctamente y todo, pero ahora tengo que hacer que se muestre la lista de las ventas, pero de otro modo: tiene que mostrar primero las fechas, luego en vez del codigo de 4 digitos, tiene que buscar en la lista tListaM, si el codigo está o no, y si esta mostrar el nombre asociado a dicho codigo, y sino esta, mostrar ERROR, y luego mostrar el numero de unidades asociado al codigo. Los archivos podrian ser: lista1.txt 1325 Mesita de Cama 2176 Cama de Matrimonio -1 lista2.txt 17/02/01 7737 5 17/01/22 1325 2 15/12/23 2176 6 -1 Ambos archivos tienen el -1 como centinela Muchas gracias de antemano
|
|
|
10
|
Programación / Programación General / [Eclipse ARM] Recorrer array, encontrar el elemento mayor y devolver su posicion
|
en: 16 Abril 2017, 13:40 pm
|
Buenas, tengo problemas porque no se como implementar bien con subrutinas un programa que tengo en C que recorre un array A de longitud N, busca el elemento mayor y devuelve su posicion, pero cada cosa, es decir, el recorrer, encontrar el mayor elemento y devolver su posicion son subrutinas. El codigo en C es el siguiente: #define N 4 int A[N]={7,3,25,4}; int B[N]; void Recorre(); int Mayor(); void main(){ Recorre (A, B, N); } void Recorre (int A[], int B[], int M){ for(int j=0; j<M-1; j++){ B[j] = Mayor(A[j],A[j+1]); } } int Mayor(int X, int Y){ if(X>Y) return X; else return Y; } int i, max, ind; int max(int A[], int longA){ max=0; ind=0; for(i=0; i<longA; i++){ if(A[i]>max){ max=A[i]; ind=i; } } return(ind); }
|
|
|
|
|
|
|