Informatică, întrebare adresată de DerekHale, 8 ani în urmă

A) Se consideră fişierul text F.txt. De transcris liniile fişierului F.txt în fişierul G.txt,
suprimând spaţiile situate la sfârşiturile liniilor fişierului sursă.
B) Să se citească un şir de la tastatură şi apoi să se afişeze pe ecran caracter cu caracter.
Elementele şirului vor fi accesate prin indecşi şi prin aritmetica pointerilor
DE REZOLVAT IN CODEBLOCKS (C++)

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

A)

#include <fstream>

#include <string>

using namespace std;

ifstream fin("F.txt");

ofstream fout("G.txt");

string s;

int main(){

while(!fin.eof()){

getline(fin, s);

int len = s.length()-1;

while(s[len] == ' ' || s[len] == '\t')len--;

for(int i = 0; i <= len; i++){

fout << s[i] << "\n";

}

}

}

B)

#include <iostream>

#include <cstring>

#include <string>

using namespace std;

char* s;

string cpp_str;

int main(){

//daca contine spatii

getline(cin, cpp_str);

s = cpp_str.c_str();

//daca nu contine spatii

s = new char[16384];

cin >> s;

for(int i = 0; i < strlen(s); i++){

cout << *(s + i * sizeof(char));

}

}


DerekHale: la B imi da asa eroare. Ajutama te rog (https://prnt.sc/nfewd6)
CinevaFaraNume: s = (char*) cpp_str.c_str();
CinevaFaraNume: Si trebuie folosita ori partea asta:
getline(cin, cpp_str);
s = cpp_str.c_str();
ori partea asta:
s = new char[16384];
cin >> s;
Nu ambele
DerekHale: Mersi
Alte întrebări interesante