Autor
|
Tema: programa repeticion y cuenta con vectores (Leído 2,765 veces)
|
MikeBaeza
Desconectado
Mensajes: 5
|
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
|
|
|
|
|
MikeBaeza
Desconectado
Mensajes: 5
|
Del programa 1 tengo esto #include <stdio.h> #include <string.h> void CountA(char frase[], char diccionario[],int i); int main () { char diccionario[26] = "abcdefghijklmnopqrstuvwxyz", frase[30]; int i, caracteres; for (i = 0; i < 25; i++) CountA(frase, diccionario, i); return 0; } void CountA(char frase[], char diccionario[], int i) { int j, num,contador; char letra; contador = 0; for (j = 0; j < num-1; j++) { if (frase[j] == diccionario[i]) { contador+=1; letra = diccionario[i]; } } if (contador != 0) printf("el numero de letras %c es %d\n", letra , contador ); } del programa 2 tengo esto #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ double x; double y; } Vec; typedef struct { double aa; double ab; double ba; double bb; } Mat; int main(int argc, char *argv[]) { }
Bueno, del dos es lo que llevo, junto con el tres, solo que no se que mas hacer typedef struct { double x; double y; } Vec; typedef struct { double aa; double ab; double ba; double bb; } Mat; void PrintV(Vec X); Vec TransV (Mat m, Vec x); int main(int argc, char *argv[]) { Vec x1={1,1}; Mat m1={0,1,1,2}; Mat m2; PrintV (x1); return 0; } void PrintV(Vec x) { printf ("(%g, %g)", x. x, x. y); } Vec TransV (Mat m, Vec x) { }
|
|
« Última modificación: 12 Mayo 2016, 01:25 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
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
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
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: 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': int CountA(/*Parámetros*/)
3º El ciclo for no itera por todos los elementos de la frase. for (j = 0; j < num-1; j++)
debería ser... 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? for ... { ... letra = diccionario[i]; }
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: typedef struct{ double elems[2]; } Vec; typedef struct { double elems[2][2]; } 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 |
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Wds y repeticion de paquetes
Redes
|
Hacker wifi
|
3
|
3,802
|
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
|
6 Diciembre 2012, 03:39 am
por jhousef_innovador
|
|
|
ayuda con programa (matrices,vectores,funciones)
Programación C/C++
|
agusred
|
3
|
3,264
|
7 Junio 2013, 23:28 pm
por Puntoinfinito
|
|
|
Programa de vectores C++
Programación C/C++
|
LauraD
|
2
|
3,429
|
20 Junio 2014, 08:27 am
por eferion
|
|
|
C++ Mas iteradores, con vectores de vectores ¡ juerga !
Programación C/C++
|
Orubatosu
|
1
|
2,618
|
4 Diciembre 2014, 17:18 pm
por Eternal Idol
|
|