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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programa repeticion y cuenta con vectores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa repeticion y cuenta con vectores  (Leído 2,765 veces)
MikeBaeza

Desconectado Desconectado

Mensajes: 5


Ver Perfil
programa repeticion y cuenta con vectores
« en: 12 Mayo 2016, 01:05 am »

Con los primeros dos seria mucha ayuda, por favor T_T
Programa 1
Crear una funcion llamada CountA, que cuente cuantas veces aparece la letra "a" en una cadena, la funcion debe devolver un entero (debe contar por igual "a" y "A".
Aplicarla a la frase: "Alla en la alameda venden arracadas". (ignorar acentos).

Programa 2
Crear dos estructuras de datos: "Vec" y Mat" que representen, respectivamente:
a) Un vector de dos numeros double
b) Una matriz de 2x2 numeros double

Programa 3
Para las estructuras del problema anterior
a) Crear una funcion que imprima vectores, su prototipo es "void PrintV (Vec X)"
b) Crear una funcion que reciba argumentos, que multiplique una matriz por un vector, su prototipo es "Vec TransV (Mat M, Vec X)"
c) Usar las funciones para calcular e imprimir el resultado de la siguiente operacion
(0 1) (1) = ?
(1 2) (1) =



« Última modificación: 12 Mayo 2016, 01:25 am por engel lex » En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: URGENTE, AYUDA CON ESTE PROGRAMA
« Respuesta #1 en: 12 Mayo 2016, 01:19 am »

No se entregan códigos resueltos. Si quieres, puedes presentar tus dudas PUNTUALES. Elabora un código e intentaremos ayudarte en todo lo posible ;)


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
MikeBaeza

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: URGENTE, AYUDA CON ESTE PROGRAMA
« Respuesta #2 en: 12 Mayo 2016, 01:21 am »

Del programa 1 tengo esto
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. void CountA(char frase[], char diccionario[],int i);
  4. int main ()
  5. {
  6.    char diccionario[26] = "abcdefghijklmnopqrstuvwxyz", frase[30];
  7.    int i, caracteres;
  8.    printf("introduce frase\n");
  9.    fgets(frase, 30, stdin);
  10.  
  11.    caracteres = strlen(frase);
  12.  
  13.    for  (i = 0; i < 25; i++)
  14.        CountA(frase, diccionario, i);
  15.    return 0;
  16. }
  17.  
  18. void CountA(char frase[], char diccionario[], int i)
  19. {
  20.    int j, num,contador;
  21.    char letra;
  22.    contador = 0;
  23.    num = strlen(frase);
  24.  
  25.    for (j = 0; j < num-1; j++)
  26.    {
  27.        if (frase[j] == diccionario[i])
  28.        {
  29.                contador+=1;
  30.                letra = diccionario[i];
  31.        }
  32.  
  33.  
  34.    }
  35.    if (contador != 0)
  36.        printf("el numero de letras %c es %d\n", letra, contador);
  37. }
  38.  
  39.  
  40.  
  41.  
  42. del programa 2 tengo esto
  43.  
  44. #include <stdio.h>
  45. #include <stdlib.h>
  46. #include <string.h>
  47.  
  48. typedef struct{
  49. double x;
  50. double y;
  51. } Vec;
  52.  
  53. typedef struct {
  54. double aa;
  55. double ab;
  56. double ba;
  57. double bb;
  58. } Mat;
  59. int main(int argc, char *argv[]) {
  60.  
  61. }



Bueno, del dos es lo que llevo, junto con el tres, solo que no se que mas hacer
Código
  1. typedef struct
  2. {
  3. double x;
  4. double y;
  5. } Vec;
  6.  
  7. typedef struct
  8. {
  9. double aa;
  10. double ab;
  11. double ba;
  12. double bb;
  13. } Mat;
  14.  
  15.  
  16. void PrintV(Vec X);
  17.  
  18. Vec TransV (Mat m, Vec x);
  19.  
  20. int main(int argc, char *argv[]) {
  21.  
  22. Vec x1={1,1};
  23. Mat m1={0,1,1,2};
  24. Mat m2;
  25.  
  26. PrintV (x1);
  27.  
  28. return 0;
  29. }
  30.  
  31.  
  32. void PrintV(Vec x)
  33. {
  34. printf ("(%g, %g)", x.x, x.y);
  35. }
  36.  
  37.  
  38. Vec TransV (Mat m, Vec x)
  39. {
  40.  
  41. }
« Última modificación: 12 Mayo 2016, 01:25 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: programa repeticion y cuenta con vectores
« Respuesta #3 en: 12 Mayo 2016, 01:26 am »

Mod: No rompas reglas del foro, no debes escribir en mayúsculas, los titulos de los temas deben ser descriptivos, no hagas doble post y los códigos deben ir en etiquetas GeSHi
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: programa repeticion y cuenta con vectores
« Respuesta #4 en: 12 Mayo 2016, 02:07 am »

Respecto al primer código, sinceramente, veo cosas muy raras.

Voy a analizarlo.

1º. Parámetros. ¿Por que pasarle a la función CountA un "diccionario" si solo estás buscando la letra 'a' o la 'A'?

Creo que es lógico que la función solo pida la cadena (frase) en cuestión:
Código
  1. void CountA(char frase[])

2º El valor de retorno. Según el ejercicio, la función debe retornar un entero, en concreto, la cantidad de 'a' o 'A':
Código
  1. int CountA(/*Parámetros*/)

3º El ciclo for no itera por todos los elementos de la frase.
Código
  1. for (j = 0; j < num-1; j++)
debería ser...
Código
  1. for (j = 0; j < num; j++)

4º Sin tener en cuenta las anotaciones de antes, veamos el código de la función en sí
¿Por qué guardas la letra que deseas comprobar en cada iteración del bucle for?
Código
  1. for ... {
  2.    ...
  3.    letra = diccionario[i];
  4. }
La variable 'i' no cambia en toda la función, así que la letra tampoco.

Respecto al segundo código, si bien puedes representar un vector y una matriz con esas estructuras, es mejor que dentro de estas guardes arreglos:
Código
  1. typedef struct{
  2. double elems[2];
  3. } Vec;
  4.  
  5. typedef struct {
  6. double elems[2][2];
  7. } Mat;

Eso ya es opinión mía.

Respecto al último ejercicio, has de recordar cómo se multiplican las matrices.
En el caso de una matriz 2x2 por una matriz columna de 2x1 se hace así:

Ejemplo:

(ma mb) (va)
(mc md) (vb)   =

(ma*va + mb*vb)
(mc*va + md*vb)
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Wds y repeticion de paquetes
Redes
Hacker wifi 3 3,802 Último mensaje 31 Agosto 2010, 21:33 pm
por Hacker wifi
Primer programa en C con vectores « 1 2 »
Programación C/C++
sora_ori 10 12,700 Último mensaje 6 Diciembre 2012, 03:39 am
por jhousef_innovador
ayuda con programa (matrices,vectores,funciones)
Programación C/C++
agusred 3 3,264 Último mensaje 7 Junio 2013, 23:28 pm
por Puntoinfinito
Programa de vectores C++
Programación C/C++
LauraD 2 3,429 Último mensaje 20 Junio 2014, 08:27 am
por eferion
C++ Mas iteradores, con vectores de vectores ¡ juerga !
Programación C/C++
Orubatosu 1 2,618 Último mensaje 4 Diciembre 2014, 17:18 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines