Laborfeladatok
1. Olvassuk be az összes számot egy "input.txt" fileból, határozzuk meg, hogy
az illető számok pallindrómok-e, s írjuk ki egy "output.txt"
fileba a számot,
s hogy pallindróm, vagy nem pallindróm. Minden szám
külön sorban található az input fileban.
Megoldás:
#include <iostream> #include <fstream> using namespace std; int main() { //szukseges valtozok deklaralasa int v[100],m[100],i=0,n,k,a; //input file deklaralasa - az ifstream azt jelenti, hogy csak olvasni tudunk belole ifstream file("input.txt"); //ha sikerult megnyitni a filet if(file.is_open()) { //olvassuk be soronkent a line valtozoba while(file >> v[i]) { //noveljuk az i erteket - ez fogja szamolni, hogy hany erteket olvastunk be i++; } //input file bezarasa file.close(); } else { cout<<"nem tudtam megnyitni"; } //lementjuk a beolvasott valtozok szamat, n=i; for (i=0; i<n; i++) { a=v[i]; m[i]=0; //a szamot lebontjuk szamjegyekre s mentjuk az m[i] ben while (a>0) { k=a%10; m[i]=m[i]*10+k; a=a/10; } } //output file deklaralasa - az ofstream akkor is letrehozza a filet, ha az addig nem letezett ofstream ofile; ofile.open("output.txt"); for (i=0; i<n; i++) { //ha a ket szam a tombokben egyezik, akkor palindromot fog kiirni az output file ba, ha nem, akkor azt, hogy nem palindrom if (v[i]==m[i]) { ofile << m[i] << " palindrom " << endl; } else { ofile << m[i] << " nem palindrom" << endl; } } //output file bezarasa ofile.close(); return 0; }
Pluszfeladat
1. A bac.txt állomány egy sorozatot tartalmaz legtöbb 106 különböző természetes
számmal a [0,109] intervallumból. A számok egy-egy szóközzel vannak elválasztva.
Határozza meg a két legnagyobb páros elemet a sorozatból, amelyek előtt csak három
páratlan elem található. A meghatározott elemeket írassa ki a képernyőre szigorúan
növekvő sorrendben, egy-egy szóközzel elválasztva, abban az esetben, ha a sorozatban
nem létezik két ilyen elem, a képernyőre a Nu exista üzenetet írassa ki.
A kért értékek meghatározására használjon hatékony algoritmust úgy a felhasznált
memória, mint a futási idő szempontjából.
Példa: ha az állomány a következő számokat tartalmazza
(4 előtt 0 páratlan szám található, 312 előtt 2 páratlan szám található, 30, 14 és 212 előtt
3 páratlan szám található, a 400 előtt 6 páratlan szám található; a 30, 14 és 212 számok
közül a 30 és a 212 a legnagyobbak).
a) Írja le saját szavaival a használt algoritmust és indokolja annak hatékonyságát. (4p.)
b) Írja meg az előbb leírt algoritmusnak megfelelő C/C++ programot.
Forrás: 2016 Pótérettségi III/4
Házi feladat:
1. Adott egy "input.txt" file, amelyben egymástól space el elválasztva természetes számok vannak. (maximum 106 szám a [0,106] intervallumból.
Olvassuk be a számokat, majd írjuk ki a prímeket egy prim.txt, a pallindrómokat egy pallindrom.out s a tökéleteseket egy tokeletes.dat fileba.
Beküldési határidő
2019 szeptember 25, 23:59, az ezután
küldött házik 4 esek lesznek, ha tökéletesek, 1 ha nem.
A házi elnevezése: H01_Pelda_Bela.cpp,
Pelda Bela helyett az aktuális
vezeték és keresztnévvel.
Ne legyenek benne ékezetek, üres
helyek, vagy egyéb írásjelek, stb.!
Azoknál a háziknál, amelyek kísértetiesen hasonlítanak (másolás. ugyanonnan inspirálódtak, stb,)
mindkettőnek 1 es jár.
Így kell
átnevezni