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