• Lunes 23 de Diciembre de 2024, 04:01

Autor Tema:  Piramide Salida En Txt  (Leído 3144 veces)

emir21

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Piramide Salida En Txt
« en: Jueves 20 de Mayo de 2004, 19:49 »
0
:o  Alguien tiene idea como realizar esto : :scream:

Escribir un programa en C llamado "piramide" que reciba por la línea de comando un numero y un string. Este programa escribirá en un archivo cuyo nombre esta definido por el string que recibió como parámetro una pirámide de la forma:

1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
n n-1 n-2 ... 1

donde n es el número que se recibió. Por ejemplo:

c:\piramide 3 salida.txt

Este programa generará el archivo "salida.txt" cuyo contenido será:

1
2 1
3 2 1

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Piramide Salida En Txt
« Respuesta #1 en: Jueves 20 de Mayo de 2004, 19:59 »
0
Pero q es lo q no entendes??? grabar el archivo???, leer el parametro de linea de comando??, hacer el 1 12 123 1234 12345 .....???? porque nadie te va a hacer el TP entero asi porque si. Fijate y responde!

Salu2!!!!!!!!!!! :hola:

emir21

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Piramide Salida En Txt
« Respuesta #2 en: Jueves 20 de Mayo de 2004, 23:32 »
0
la parte de como sacar la piramide.... con el numero de entrada viniendo dedes el sistema operativo.... ya que el numero que pido debe venir del DOS, lugo con ese numero hacer la piramide pero como tomo ese numero y lo trabajo en el sistema....



  ;) C: piramide 3 salida.txt  :(

donde eso yo lo coloco en el sistema operativo y el me debe generar

1
21
321    :blink:

en un archivo .txt   y tener tres filas por que mi numero introducido fue tres
  :scream:

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Piramide Salida En Txt
« Respuesta #3 en: Viernes 21 de Mayo de 2004, 03:28 »
0
Hola!!!!!!!!

Para tomar el numero desde comando, el mismo te llegara a traves del argv. En la posicion 0 (argv[0] vendra el path de tu programa junto con el nombre del archivo ejecutable, y en el argv[1] te llegara el numero q necesitas (tenes q verificar q te llego el numero usando argc))
Lo q tenes q hacerle (previa validacion de q sea un numero  lo q te llego (isdigit() seria la solucion para eso, busca en la MSDN, en google o en las man pages de gnu/LINUX)) es hacerle un atoi y meterlo en una variable de tipo int (o short seria mejor) y luego empezas a grabar lineas en un archivo de texto empezando en la primera con un uno, luego un uno y un dos y asi sucesivamente hasta el numero q guardaste recien.

Salu2!!!!!

Noel Solw

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Piramide Salida En Txt
« Respuesta #4 en: Domingo 30 de Mayo de 2004, 10:03 »
0
Te envio un segmento de programa que recibe argumentos de la linea de comando:

argc : numero de argumentos recibidos. argc es siempre mayor o igual a 1.

argv[] : array de argumentos, strings. argv[0] es siempre el nombre completo del programa exe.

en nuestro caso, convenimos que argv[1] es el nombre del output file y argv[2] el numero necesario para construir la priramide. Recibimos un cadena de char, que es necesario convertir a int usando atoi().

argc y argc, son los nombres usados generalmente usado para los argumentos,
por supuesto que puedem usarse otros.

// programa piramide.cpp - 30/5/2004
// written in borland c++ - ver 3.1

#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
   clrscr();
   if(argc < 3)
   {
      cout << "wrong input arguments" << endl;
      return 1;
   }
   cout << "file name : " << argv[1] << endl << endl;
   for(int i = 0;i < atoi(argv[2]);i++)
   {
      for(int j = i+1;j;j--)
         cout << setw(4) << j;
      cout << endl;
   }
   getch();
   return 0;
}