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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / [C] Problema con nombres de ficheros en: 23 Diciembre 2010, 15:59 pm
Hola a todos. Estoy realizando un programa en C, en el cual inicialmente abro dos archivos, cuyos nombres de quedan almacenados en 2 cadenas de caracteres y son los siguientes:

caso1.sec
caso2.sec

Pues bien, mi problema viene es que ahora necesito crear un fichero de salida que contenga los nombres de cada uno (sin la extensión) separados por un -, y la extensión .out. Quedaría de esta manera:

caso1-caso2.out

Y por más que lo intento, no consigo sacarlo. No puedo escribir directamente "caso1-caso2.out" ya que los nombres de los ficheros pueden ser diferentes, tengo que hacerlo de modo general. Lo he intentado con el siguiente código, pero me da error (me devuelve NULL) a la hora de crear el fichero .out:

Código
  1. for (i=0;nomFich1[i]!='.';i++)
  2.            {
  3.                fichSal[i]=nomFich1[i];
  4.            }
  5.            fichSal[i]='-';
  6.            i++;
  7.            for(j=0;nomFich2[j]!='.';j++){
  8.                fichSal[i]=nomFich2[j];
  9.                i++;
  10.            }
  11.            strcat(fichSal,".out");

Donde nomFich1 es la cadena donde está almacenado "caso1.sec", nomFich2 donde se encuentra "caso2.sec" y fichSal nombre del fichero que debo crear.

¿Dónde está el fallo? ¿Hay alguna manera más fácil de realizar lo que pido?

Gracias!
2  Programación / Programación C/C++ / Duda búsqueda en C en: 18 Noviembre 2010, 11:51 am
Hola a todos. Estoy realizando un programa en C el cual pide la temperatura a lo largo de 24 horas (almacenadas en una tabla unidimensional con 24 valores), para luego realizar:

a) La media
b) Mostrar la temperatura máxima y la hora a la que se produjo

A la hora de realizar la media y mostrar la máxima lo hago bien, pero tengo problemas para que me muestre la hora a la que se produjo. Para mostrar la temperatura máxima ordeno los valores de la tabla de manera creciente, pero si hago esto, el valor más grande (el último) no corresponde con la hora del día en que fue, ya que ha sido cambiado de posición.

Este es el cógido que llevo hasta ahora:

Código
  1. #include <stdio.h>
  2. #define N 25
  3.  
  4. void main(){
  5.    float temp[N],suma,aux;
  6.    int i,j,k,menor;
  7.    printf("Introduzca las temperaturas por cada hora (de 0 a 24 h):\n");
  8.    for(i=0;i<N;i++)
  9.    scanf("%f",&temp[i]);
  10.    suma=0;
  11.    for(i=0;i<N;i++)
  12.    suma=suma+temp[i];
  13.    printf("La temperatura media a lo largo del dia es de %f C",suma/25);
  14.    for(i=0;i<N;i++){
  15.        for(j=i+1,menor=i;j<N;j++){
  16.            if(temp[j]<temp[menor])
  17.            menor=j;
  18.            }
  19.        aux=temp[i];
  20.        temp[i]=temp[menor];
  21.        temp[menor]=aux;
  22.        }

Así consigo que se me ordeno, pero como digo, no sé de qué manera almacenar el valor de i (que coincide con las horas) donde se encuentra la mayor temperatura en otra variable para que me la muestre luego.

Muchas gracias!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines