program wczytujący linie z pliku

damcios
Użytkownik
Użytkownik
Posty: 341
Rejestracja: 3 lis 2008, o 19:55
Płeć: Mężczyzna
Lokalizacja: poznań
Podziękował: 1 raz

program wczytujący linie z pliku

Post autor: damcios »

potrzebuje programu, który wczyta w odwrotnej kolejności linie tekstu i w odwrotnej kolejności litery w lini
nie wiem jak za to się zabrać.
jedyne co mam to

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <fstream>

using namespace std;
void test(){
     ofstream plik ("hus.txt");
     plik<<"abc abcd abcdef"<<endl;
plik<<"fgh fghi fghij"<<endl;
plik<<"abcdefghijkl";
plik.close();}
void tesca(){
     ifstream plak("hus.txt");
     string name;
     while (!plak.eof()){
           getline (plak,name);

-- 27 kwietnia 2011, 18:40 --napisałem program , ktory wczytuje linie z odwróonymi literami w lini, teraz tylko trzeba zrobić żeby jeszcze linie odwrotnie czytał
Xitami

program wczytujący linie z pliku

Post autor: Xitami »

Kod: Zaznacz cały

#include <stdio.h>
main(c,b){
        if(EOF!=(c=getchar())){
                main();
                putchar(c);}}
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

program wczytujący linie z pliku

Post autor: soku11 »

@up:
Jeśli, to ma być C++ (sądząc po kodzie autora), to kod nie jest zgodny ze standardem. Standardu C dawno nie przeglądałem, ale podejrzewam, że tam też taki kod nie przejdzie. A na pewno się nie skompiluje (main wywoływane bez parametrów). O samym pomyśle wywoływania main rekurencyjnie się nie wypowiadam...
Awatar użytkownika
argv
Użytkownik
Użytkownik
Posty: 569
Rejestracja: 27 maja 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 51 razy
Pomógł: 66 razy

program wczytujący linie z pliku

Post autor: argv »

Przejdzie i skompiluje się, a pomysł Xitami uważam za przedni
Xitami

program wczytujący linie z pliku

Post autor: Xitami »

Wersja C++, rekurencyjny program w rekurencyjnym źródle. Do sprawdzenia na

Kod: Zaznacz cały

#ifdef majn
       putchar(OO)
#else
#include <cstdio>
#define majn
int main(int OO,char ** O0){
  if(EOF!=(OO=getchar())){
       main (OO, O0);
#include "prog.cpp"
           ;}}
#endif
Rekurencyjne źródło można uzyskać też inaczej:

Kod: Zaznacz cały

#   inclu
de <cstdio>
#define a 
        int
#define b 
        ()
        )){
#define c 
  !=  ( OO=
#define l 
 ,  char * *
#define ec e c
#define e 
{ if  ( EOF
#define g 
        ma
in
#define h 
ec get
char
#define H 
      ;
#define i 
        H 
putchar f
#define f 
 (  OO ) H}}
#define A OO+
 a g  (a OO l O0) h
 b g  (A OO , O0) i
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

program wczytujący linie z pliku

Post autor: soku11 »

Kompilator g++ 4.5.0. Kompilacja z flagami -O0 -Wall
Pierwszy kod:
expected constructor, destructor, or type conversion before '(' token main.cpp /TestCpp line 9
Drugi oczywiście niezgodny ze standardem C++.
Trzeci, to dokładnie to samo, co pierwszy. Ma tylko poprawione kilka rzeczy (wywoływanie funkcji main z parametrami).


Pomysł z rekurencją średni. O ile sprawdzi się dla małych danych wejściowych, o tyle dla dużego pliku szybko może stosu zabraknąć.
Xitami

program wczytujący linie z pliku

Post autor: Xitami »

czemu wersja, ta z #ifdef majn nie jest zgodna ze standardem?
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

program wczytujący linie z pliku

Post autor: soku11 »

Wszystkie kody z rekurencją main są niezgodne ze standardem. Przytoczę fragment:
3.6.1.3 "The function main shall not be used within a program."

5.2.2.9 "Recursive calls are permitted, except to the function named main"
Fibik
Użytkownik
Użytkownik
Posty: 971
Rejestracja: 27 wrz 2005, o 22:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 11 razy
Pomógł: 75 razy

program wczytujący linie z pliku

Post autor: Fibik »

Jeśli masz czytać cały, no to czytasz - do wora, a potem ten wór odwracasz.-- 30 kwietnia 2011, 15:41 --te kody makro-rekurencyjne w c to coś w stylu kabaretu w sejmie, albo symfonia w kuźni...
ODPOWIEDZ