Está en la página 1de 4

Guia #11

Ejercicio 1

#include <stdio.h>
#define MAX_FILAS 100
#define MAX_COLUMNAS 100

void sumarMatrices(int matrizA[MAX_FILAS][MAX_COLUMNAS], int matrizB[MAX_FILAS]


[MAX_COLUMNAS], int filas, int columnas) {
int matrizSuma[MAX_FILAS][MAX_COLUMNAS];
int i, j;

for (i = 0; i < filas; i++) {


for (j = 0; j < columnas; j++) {
matrizSuma[i][j] = matrizA[i][j] + matrizB[i][j];
}
}

printf("Matriz suma:\n");
for (i = 0; i < filas; i++) {
for (j = 0; j < columnas; j++) {
printf("%d ", matrizSuma[i][j]);
}
printf("\n");
}

int main() {
int matrizA[MAX_FILAS][MAX_COLUMNAS];
int matrizB[MAX_FILAS][MAX_COLUMNAS];
int filas, columnas;
int i, j;

printf("Ingrese el número de filas de las matrices: ");


scanf("%d", &filas);

printf("Ingrese el número de columnas de las matrices: ");


scanf("%d", &columnas);

printf("Ingrese los elementos de la matriz A:\n");


for (i = 0; i < filas; i++) {
for (j = 0; j < columnas; j++) {
scanf("%d", &matrizA[i][j]);
}
}

printf("Ingrese los elementos de la matriz B:\n");


for (i = 0; i < filas; i++) {
for (j = 0; j < columnas; j++) {
scanf("%d", &matrizB[i][j]);
}
}

sumarMatrices(matrizA, matrizB, filas, columnas);

return 0;
}
Ejercicio 2

#include <stdio.h>
#define MAX_FILAS 100
#define MAX_COLUMNAS 100

void matrizTranspuesta(int matriz[MAX_FILAS][MAX_COLUMNAS], int filas, int


columnas) {
int matrizTranspuesta[MAX_COLUMNAS][MAX_FILAS];
int i, j;

for (i = 0; i < columnas; i++) {


for (j = 0; j < filas; j++) {
matrizTranspuesta[i][j] = matriz[j][i];
}
}

printf("Matriz transpuesta:\n");
for (i = 0; i < columnas; i++) {
for (j = 0; j < filas; j++) {
printf("%d ", matrizTranspuesta[i][j]);
}
printf("\n");
}
}

int main() {
int matriz[MAX_FILAS][MAX_COLUMNAS];
int filas, columnas;
int i, j;

printf("Ingrese el número de filas de la matriz: ");


scanf("%d", &filas);

printf("Ingrese el número de columnas de la matriz: ");


scanf("%d", &columnas);

printf("Ingrese los elementos de la matriz:\n");


for (i = 0; i < filas; i++) {
for (j = 0; j < columnas; j++) {
scanf("%d", &matriz[i][j]);
}
}

matrizTranspuesta(matriz, filas, columnas);

return 0;
}

Ejercicio 3

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

int esPalindromo(const char *palabra) {


int longitud = strlen(palabra);
int i, j;
for (i = 0, j = longitud - 1; i < j; i++, j--) {
if (palabra[i] != palabra[j]) {
return 0;
}
}

return 1;
}

int main() {
char palabra[100];

printf("Ingrese una palabra: ");


scanf("%s", palabra);

if (esPalindromo(palabra)) {
printf("La palabra '%s' es un palíndromo.\n", palabra);
} else {
printf("La palabra '%s' no es un palíndromo.\n", palabra);
}

return 0;
}

Ejercicio 4

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char* invertirCadena(const char* cadena, int posicion) {


int i;
char* nuevaCadena = malloc(sizeof(char) * (posicion + 1));

for (i = 0; i < posicion; i++) {


nuevaCadena[i] = cadena[posicion - 1 - i];
}
nuevaCadena[posicion] = '\0';

return nuevaCadena;
}

int main() {
char cadena[100];
int posicion;

printf("Ingrese una cadena de caracteres: ");


scanf("%s", cadena);

printf("Ingrese una posición dentro de la cadena: ");


scanf("%d", &posicion);

if (posicion <= 0 || posicion > strlen(cadena)) {


printf("Posición inválida.\n");
return 1;
}

char* nuevaCadena = invertirCadena(cadena, posicion);


printf("La nueva cadena generada es: %s\n", nuevaCadena);

free(nuevaCadena);

return 0;
}

También podría gustarte