Zo vstupného súboru so 6 stĺpcami vyberie číslo častice - tretí stĺpec
Delphi & Pascal (česká wiki)
Category: Programs in C, C++
Program: Castice.cpp, Castice.zip
File exe: Castice.exe
need: Ccastic.cpp, Ccastic.h
Example: Vstup.txt
Program: Castice.cpp, Castice.zip
File exe: Castice.exe
need: Ccastic.cpp, Ccastic.h
Example: Vstup.txt
Zo vstupného súboru so 6 stĺpcami vyberie číslo častice - tretí stĺpec. Program pre všechny častice s týmto číslom vypočíta veličinu Pt. Pt = V ((px*px) + {py*py)), Px - 4 stĺpec, Py - 5 stĺpec. Vypočítané hodnoty sa zapíšu do vystupného súboru pt.txt. V prípade že Pt vyjde 0 nebo 0.0 atd., tak takáto hodnota sa do súboru nezapíše.
/* ========================================================================== */ /* */ /* Castice.c */ /* */ /* Description: */ /* Ze vstupnyho souboru o 6 sloupcich veme cislo castice - treti sloupec. */ /* Program pro vsechny castice s timto cislem vypocita velicinu Pt. */ /* Pt = V ((px*px) + {py*py)), Px - 4 sloupec, Py - 5 sloupec. */ /* Vypoctene hodnoty se zapisou do vystupního souboru pt.txt. */ /* V pripade, ze Pt vyjde 0 nebo 0.0 atd., tak tato hodnota se do souboru */ /* nezapise. */ /* */ /* ========================================================================== */ #pragma hdrstop #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #include "ccastic.h" #define TMP_FILE "temp.$$$" #define MAX_C 5 CCastic *fcs; // zacne vytvaret pt void MakePt() { FILE *fout; // pro vystup castic cs; float Pt; // zacatek fcs->MoveFirst(); fout = fopen("pt.txt", "wb"); do { cs = fcs->GetCastice(); // vypocet Pt // nenulovy zapiseme if( fcs->CalcPt()) { fprintf(fout,"%8d%7d%9d%12.6g%12.6g%12.6g%12.6g\n", cs.event, cs.poradi, cs.cislo, cs.px, cs.py, cs.pz, fcs->CalcPt()); } // dalsi riadok fcs->MoveNext(); } while (!fcs->IsEOF()); // konec fclose(fout); } //--------------------------------------------------------------------------- #pragma argsused // hlavny program void main(int argv, char*args[]) { char meno[128]; float c; printf("\n"); printf("Program na zpracovani castic.\n"); printf("-----------------------------\n"); // parametre programu if( argv > 1 ) strcpy(meno, args[1]); else { printf("Zadej subor s casticemi (vstup.txt): "); scanf("%s", meno); } if( argv > 2 ) c = atoi(args[2]); else { printf("Zadej cislo castice (-2212):"); scanf("%f", &c); } // ------------------------------------------------------------- // otevre castice fcs = new CCastic(meno,c); // zacne delat ukoly do souboru printf("\nMake pt.txt"); MakePt(); // konec zavreme temp delete fcs; printf("\nFinish\n"); }