Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - kofu

#1
Programación C/C++ / [AYUDA] Modelo de Parcial en C
23 Septiembre 2016, 15:48 PM
En mi facultad estan dando el siguiente modelo de parcial para progamacion en C, yo pude resolver el primer ejercicio pero no de la forma adecuada. Me dijo el profesor que tenia que usar un while en vez de un for pero no logro hacer el tema de los espacios. Ayuda por favor para resolver los 2 ejercicios correctamente !

Simulacro de Parcial
1)   Escribir un programa que utilice una función para devolver un valor de verdad indicando si una frase es palindromica (capicúa) o no. El análisis de la frase debe ignorar los espacios que puede contener, es decir que estos no afectaran el resultado. Ejemplos:
espalindomo ("luz azul");    devuelve verdadero
espalindormo ("yo hago yoga hoy"); devuelve verdadero

2)   Escribir un programa para generar una matriz NxN con números enteros 1 a N respetando el patrón adjunto. Imprimir la matriz obtenida. El programa debe funcionar para cualquier valor positivo de N, el que se declara mediante una directiva #define. Ejemplo para N=6:

1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6


RESOLUCION EJERCICIO 1:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define MAX 50

int main(int argc, char *argv[])
{
  char N[MAX];
  int cont;
  int cont2;
  char C[MAX];
  int suma=0;
  int lon;
  int cont3=0;
 
  cont=0;
  printf("Escribir una cadena de caracteres: ");
  gets(N);
  lon=strlen(N);
  cont2=lon-1;
  while(cont<MAX){
                  C[cont]=N[cont2];
                  cont=cont+1;
                  cont2=cont2-1;}
                 
  C[lon]='\0';
                  cont=0;
                 

  cont=0;
  while(cont<lon){
                  cont2=cont;cont3=0;
                  if(N[cont]==' '){
                                while(cont2<lon){
                                        N[cont+cont3]=N[cont+cont3+1];
                                        cont2=cont2+1;
                                        cont3=cont3+1;
                                        }}
  cont=cont+1;}
 

  cont=0;
  while(cont<lon){
                  cont2=cont;cont3=0;
                  if(C[cont]==' '){
                                while(cont2<lon){
                                        C[cont+cont3]=C[cont+cont3+1];
                                        cont2=cont2+1;
                                        cont3=cont3+1;
                                        }}
  cont=cont+1;}
 

  cont=0;
  while(cont<lon){
                  if(N[cont]!=C[cont]){
                                       suma=suma+1;}
                  cont=cont+1;}
  printf("\n");
  if(suma!=0){printf("No es palindromo\n");}
  else{printf("Es palindromo\n");}
 
  system("PAUSE");   
  return 0;
}


Desde ya muchas gracias :)!

Saludos[/i]
#2
Sinceramente me cuesta demasiado pascal. y tengo que rendir un final en unas horas y no encuentro ningun ejercicio completo y sin errores que me pueda ayudar.

El ejercicio que tengo como modelo de final es el siguiente:

Desarrollar un programa en pascal que permita crear y cargar un archivo de alumos para llevar un control de las notas de sus examenes parcials de la asignatura programacion 1. La estructura de los registros sera la siguiente:Nro_DNI, Apellido, Nombre, NP1, NP2:

a) Mediante un procedimiento, al que debera llamar ListadoAprobados, mostrar por pantalla el listado de los alumnos que hayan regularizado la materia, para ello, el promedio de ambas notas dbera ser igual o mayor a 7.

b) Permitir, al usuario realizar la busqueda de alumnos ingresando el numero de DNI. Mostrar los datos encontrados, en caso contrario, el siguiente mensaje "No se encuentran datos del Alumno".


Muy importante. Todo esto se graba en un archivo de datos que despues se lee. Creo que se hacia con un archivo.dat pero no me acuerdo.

Necesito ayuda urgente, por favor...
Desde ya muchas gracias
Facundo