Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

Cum să citești și să afișezi în fișiere în C++

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Unele probleme în C++ cer citirea și afișarea în fișiere. Iată un exemplu, cu problema Fișiere de pe InfoAs:

Programul citește de pe prima linie a fișierului de intrare fisiere.in numărul n. Programul afișează pe în fișierul de ieșire fisiere.out, același număr, n.

Declararea unui fișier

Pe lângă biblioteca <iostream>, vom folosi biblioteca <fstream>, care vine de la file stream. Un stream (flux) este o metodă de a citi sau afișa valori. Spre exemplu, cin este un flux de intrare prin care se pot citi date de la tastatură, iar cout este un flux de ieșire prin care se pot afișa date pe ecran.

Pentru a declara un flux de intrare pentru un fișier, din care să putem citi valori, îl vom declara astfel:

ifstream fluxIntrare("numefisier.in");

După declararea fluxului, vom putea înlocui într-un program cin cu fluxIntrare, pentru a citi din fișierul numefisier.in. După cum probabil ați ghicit, pentru flux de ieșire, avem:

ofstream fluxIesire("numefisier.out");

Numele fluxurilor

Pentru a fi mai ușor, multă lume numește fluxurile f și g, in și out, filein și fileout sau fin și fout. Folosiți perechea mai convenientă pentru voi.

Exemplu de citire din fișier

#include <iostream>

//Avem nevoie de biblioteca <fstream> pentru fluxurile de citire/afișare din fișiere
#include <fstream>

using namespace std;

int main()
{
    //Declararea fluxurilor; se recomandă declararea lor la început
    ifstream filein("fisiere.in");
    ofstream fileout("fisiere.out");

    //Declararea variabilei n
    int n;

    //Citire și afișare cu fluxurile create, în loc de cin și cout
    filein >> n;
    fileout << n;
    return 0;
}

Programul de mai sus citește un număr din fisierul fisiere.in și îl afișează în fișierul fisiere.out.

Dacă băgăm programul de mai sus pe InfoAs, pe problema fisiere, vom lua punctajul maxim. Dar cum putem să ne testăm codul pe Code::Blocks?

Cum să îți testezi programul în Code::Blocks?

După ce am scris programul, înainte de a da Run, vom naviga sus la File -> New -> Empty file.

https://i.ibb.co/8rsTWz6/image.png

Vom numi fișierul cum vrem noi (în cazul nostru fisiere.in), după care vom introduce în fișier o valoare — de exemplu 5. Vom salva fișierul și vom apăsa Build and Run. Programul nu va afișa nimic pe ecran pentru că nu afișează nimic în consolă, ci în fișierul de ieșire fisiere.out. Putem să deschidem fișierul dând File -> Open și deschizând fișierul.

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Radicalul unui număr în C++ (rădăcina pătrată)Generarea șirului Fibonacci generalizat în C++Șiruri de caractere în C++. Tot ce trebuie să știiOperații cu numere mari în C++ - Toate funcțiile explicateAlgoritm recursiv pentru căutare binară (clasa a X-a)Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăInversarea unui vector în C++Ce înseamnă endl în C++?Al N-lea termen Fibonacci în C++Combinatorică în C++: permutări, aranjamente, combinări și alteleOglinditul recursiv al unui număr în C++Instrucțiunea for (structuri repetitive)Valoarea absolută (modulul) unui număr în C++Verifică dacă un număr este par sau impar fără modulo în C++Factorialul unui număr în C++Instrucțiunea break (structuri repetitive)De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Cel mai semnificativ bit în C++Verificare dacă șir de caractere este palindrom în C++Instrucțiunea do while (structuri repetitive)Pointer în C++. Variabile de tipul char * (char steluță)Verifică dacă trei puncte sunt coliniare C++Verificarea unui an bisect în C++Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorPrima cifră a unui număr în C++Bordarea unei matrice în C++Instrucțiunea de decizie în C++: if, else, switch, caseIndicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Vectori de frecvență (de apariții) în C++Funcții în C++. Ce sunt subprogrameleMaximul și minimul a două valori în C++Vectorii în C++: citire și afișareComentarii în C++Citirea și afișarea matricelor în C++Numere triunghiulare. Verificarea unui număr triunghiularCifra maximă și minimă a unui număr în C++Află secolul unui an citit de la tastatură în C++Aria și circumferința unui cerc în C++Complexitatea unui algoritm (timp și spațiu) în C++Transformarea unui număr din baza 2 în baza 10 în C++Al N-lea termen dintr-o progresie geometricăAfișarea elementelor unui vector recursiv în C++Instrucțiunea continue (structuri repetitive)Verificare dacă un număr este palindrom în C++Ce înseamnă variabilă globală și locală în C++?Materia pentru olimpiada de informatică - tot ce trebuie să știiȘirul lui Fibonacci în C++Cel mai puțin semnificativ bit în C++Maximul și minimul unui vector în C++Câte numere naturale sunt într-un interval dat? (C++)Numărul minim de peroane pentru o gară în C++Verifică dacă o literă este mică sau mare în C++Maximul și minimul a n valori în C++Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Copiuțe: Cifrele unui numărSuma 1 + 2 + 3 + ... + N în C++Maximul și minimul a trei valori în C++Cifra maximă a unui număr recursiv în C++Structuri repetitive (while, do while, for, etc)Indicatorul lui Euler în C++Matrice pătratice în C++. Diagonala principală și secundarăVerifică dacă un număr aparține șirului Fibonacci în C++Calculul combinărilor de n luate câte k (nCk) în C++Cea mai lungă secvență de elemente crescătoare în C++Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Suma elementelor unui vector recursiv în C++Verifică dacă o literă este vocală în C++Oglinditul unui număr în C++Interclasarea a doi vectori în C++Vectorii în C++: declarare și parcurgereVerifică dacă un număr dat este o putere de 2 în C++Suma numerelor naturale dintr-un interval dat în C++Al N-lea termen dintr-o progresie aritmeticăCiurul lui Eratostene în C++CMMDC recursiv a două numere naturale în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortSuma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Cum să calculezi instant 2 la puterea N în C++Numărul de cifre ale factorialului unui numărFuncții predefinite în C++ (matematice, șiruri de caractere)Numărul aranjamentelor în C++ (formula aranjamentelor)Verifică dacă un caracter este literă în C++Ce este o variabilă unsigned în C++?Cel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Numărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Tipuri de date în C++: numere întregi, reale, caractere și alteleTipul struct în C++. Ce sunt structurile de date neomogeneCitește un șir de caractere cu spații în C++Aria unui triunghi folosind coordonatele acestora în C++Numărul permutărilor în C++ (formula permutărilor)Transformarea unei litere mari în literă mică în C++Divide et Impera (metodă de programare C++)Do while vs while în C++ - Care e diferența?Numărul combinărilor în C++ (formula combinărilor)CMMMC a două numere în C++ (cel mai mic multiplu comun)Afișarea divizorilor primi ai unui număr în C++Rădăcina cubică a unui număr în C++ (cube root)Numărul de divizori primi ai unui număr în C++Numărul de divizori al unui număr în C++Recursivitate în C++Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Transformarea unui număr din baza 10 în baza 2 în C++Verificare număr prim în C++ (Clasa a IX-a)Numărul de apariții al unui număr într-un vector în C++Aflarea sumei primelor N sume GaussMatrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicCodul ASCII (tabel complet)Interschimbarea a două variabile în C++ (3 metode)Verifică dacă un caracter este cifră în C++Mediana unui șir de valori în C++Inversarea unui șir de caractere în C++Distanța dintre două puncte în C++Transformarea unei litere mici în literă mare în C++Căutare binară în C++Instrucțiunea while (structuri repetitive)Cifra de control a unui numărCel mai frecvent element dintr-un șir în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleCum să afișezi partea întreagă a unui număr real în C++Ce este o funcție void în C++?Suma divizorilor unui număr în C++Cum să citești și să afișezi în fișiere în C++Cel mai mic număr cu suma cifrelor N în C++

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont