Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayudaaa con este programa

Estas en el tema de ayudaaa con este programa en el foro de C/C++ en Foros del Web. a) El programa debe subirse como un ÚNICO archivo (.cpp) como se muestra en el ejemplo y debe incluir la siguiente cabecera con los datos ...
  #1 (permalink)  
Antiguo 29/10/2010, 15:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
ayudaaa con este programa

a) El programa debe subirse como un ÚNICO archivo (.cpp) como se muestra en el ejemplo y debe incluir la siguiente cabecera con los datos completos correspondientes.

b) Tanto la función main (principal) como los prototipos de las funciones que deberá implementar el alumno son los provistos en el ejemplo y se deberá respetar los mismos.


#include<iostream>
#include<fstream>
using namespace std;

void leer_matriz(int& total, int datos[10][10]);
void procesar_matriz(int total, int datos[10][10]);
void guardar_matriz(int total, int datos[10][10]);

void espejar_horizontal(int total, int datos[10][10]);
void espejar_vertical(int total, int datos[10][10]);
void rotar_orario(int total, int datos[10][10]);
void rotar_antiorario(int total, int datos[10][10]);
void transponer(int total, int datos[10][10]);

int main()
{
int matriz[10][10];
int cantidad;

leer_matriz(cantidad, matriz);
procesar_matriz(cantidad, matriz);
guardar_matriz(cantidad, matriz);

return 0;
}

// De acá en adelante. comienzan las definiciones de las funciones
.
.
.


Problema

Se debe implementar un programa que:

a) lea una matriz de un archivo,

b) modifique la matriz

c) guarde la matriz en otro archivo.

Cada uno de los puntos ‘a’, ‘b’ y ‘c’ deben ser implementados con funciones de usuario que serán llamadas dentro de la función main como muestra el ejemplo provisto. Los únicos datos de entrada y salida de las funciones definidas por el usuario serán los que figuran como parámetros en el prototipo de la misma. No se podrán usar variables globales. Se deberán respetar los siguiente prototipos para las funciones de los puntos ‘a’, ‘b’, ‘c’:

a) void leer_matriz(int& total, int datos[10][10])
b) void procesar_matriz(int total, int datos[10][10])
c) void guardar_matriz(int total, int datos[10][10])

donde 'total' indica la cantidad de números que efectivamente contiene la matriz y '10' es el número máximo de filas o columnas de la matriz.

La función ‘leer_matriz’ deberá leer de un archivo una matriz cuadrada de números enteros. El nombre del archivo que contiene la matriz de entrada debe ser exactamente "matriz_de_entrada.txt". El archivo contiene únicamente los números de la matriz leídos fila por fila de izquierda a derecha. Los números dentro del archivo se encuentran separados por un espacio o por una nueva línea.

La función ‘guardar_matriz’ deberá guardar en un archivo todos los números de la matriz. El nombre de archivo deberá ser exactamente "matriz_de_salida.txt". Los números deberán estar separados por un espacio o una nueva línea en el mismo orden en que fueron leídos (fila por fila de izquierda a derecha).

La función ‘procesar_matriz’ deberá modificar la matriz que se pasa como argumento. Los únicos datos de entrada de esta función serán los que figuran como parámetros en el prototipo de la misma (i.e. total y datos) no se podrán usar variables globales. De acuerdo al valor del primer elemento de la matriz (datos[0][0]) se deberá realizar diferentes tipos de modificaciones sobre la misma según se describe a continuación.

Si datos[0][0]==0 se debe espejar la matriz horizontalmente:

Matriz original
0 1
2 3

Nueva matriz
2 3
0 1


Cada una de esta operaciones de modificación de la matriz debe ser realizada por funciones de usuario programadas para cada caso particular. Los prototipos de la funciones para cada caso deben ser

void espejar_horizontal(int total, int datos[10][10])
void espejar_vertical(int total, int datos[10][10])
void rotar_orario(int total, int datos[10][10])
void rotar_antiorario(int total, int datos[10][10])
void transponer(int total, int datos[10][10])

Dentro de la función ‘procesar_matriz’ solo se debe elegir y llamar a la función correspondiente para modificar la matriz.

IMPORTANTE: El programa no debe imprimir nada en pantalla ni requerir ningún tipo de información de entrada por el teclado u otro archivo no especificado en la consigna. El programa debe cerrarse cuando finalice su tarea.
  #2 (permalink)  
Antiguo 29/10/2010, 17:07
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: ayudaaa con este programa

Lindo ejercicio, pero cual es el problema?
  #3 (permalink)  
Antiguo 31/10/2010, 07:16
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: ayudaaa con este programa

aqui no se hacen tareas!!
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #4 (permalink)  
Antiguo 31/10/2010, 17:41
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: ayudaaa con este programa

noo que hacer tarea, me olvide de poner la duda miren,
void leer_matriz(int& total, int datos[10][10])
{
ifstream archivo_entr;
archivo_entr.open("matriz_de_entrada.txt");
asi abro la matriz no? , pero dsp cuando la proceso como hago para que a medida que la lee vaya guardandola en por ejemplo matriz[a][k]

Etiquetas: programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:31.