Vissza
A for utasítás, állománykezelés
Házi feladatok:
1. Olvassunk be 10 számot a billentyűzetről és
amikor páros számot olvasunk be, akkor sípoljon
egyet a gép.
2. Olvassunk be 10 számot a billentyűzetről és
sípoljon egyet a gép ha az összes szám
negatív volt.
3. Olvassunk ki egy állományból 10 számot
és amikor páros számot olvasunk ki, akkor
sípoljon egyet a gép.
4. Olvassunk ki egy állományból 10 számot
és sípoljon egyet a gép ha az összes
szám negatív volt.
5. Olvassunk ki egy állományból 10 számot
és adjuk össze őket.
6. Olvassunk ki egy állományból 10 számot
és határozzuk meg az átlagukat.
7. Olvassunk ki egy állományból 10 számot
és határozzuk meg, hogy hány
közülük páratlan.
8. Olvassunk ki egy állományból 10 számot
és határozzuk meg, hogy hány
közülük pozitív.
9. Írjuk ki az ASCII kódtáblázatot egy
állományba.
10. Állapítsuk meg, hogy a billentyűzetről
beolvasott
szám négyzetszám-e, ne használjuk az sqrt
könyvtárfüggvényt.
Megjegyzés: Az megoldott feladatok után, az oldal
alján további házifeladatok
találhatóak!!
Megoldott feladatok:
További megoldott feladatok
További kitűzött feladatok
1. Olvassunk be 10 számot
a billentyűzetről és
amikor negatív számot olvasunk be, akkor sípoljon
egyet a gép.
#include
<iostream>
using namespace std;
int main()
{
int i, x;
for (i = 0; i
< 10; i++){
cout << "szam = ";
cin >> x;
if( x < 0 ) cout <<
"sip" << (char)7;
}
return 0;
}
2. Olvassunk be 10 számot a billentyűzetről és
sípoljon egyet a gép ha az összes szám
páros volt.
#include
<iostream>
using namespace std;
int main()
{
int i, x, k;
k = 0;
for (i = 0; i < 10; i++){
cout << "szam "
<< i + 1 << " = ";
cin >> x;
if( x%2 == 0 ) k++;
}
if( k == 10 )
cout << "sip" << (char)7;
return 0;
}
3. Olvassunk be 10 számot a billentyűzetről és adjuk
össze őket.
#include
<iostream>
using namespace std;
int main()
{
int i, x, ossz;
ossz = 0;
for (i = 0; i < 10; i++){
cout << "szam "
<< i + 1 << " = ";
cin >> x;
ossz += x;
}
cout << "A szamok osszege:: " << ossz
<< endl;
return 0;
}
4. Olvassunk ki egy állományból 10 számot
és szorozzuk össze őket.
#include
<iostream>
#include <fstream>
using namespace std;
int main()
{
int i, x, szor;
ifstream fin;
fin.open
("szamok.txt");
szor = 1;
for (i = 0; i < 10; i++){
fin >> x;
szor *= x;
}
fin.close();
cout << "A szamok szorzata:: " << szor
<< endl;
return 0;
}
5. Olvassunk ki egy állományból 10 számot
és határozzuk meg a legnagyobbat.
#include
<iostream>
#include <fstream>
using namespace std;
int main()
{
int i, maxi,
x;
ifstream fin;
fin.open ("szamok.txt");
for (i = 0; i < 10; i++){
fin >> x;
if (i == 0) maxi = x;
if (maxi < x) maxi = x;
}
fin.close();
cout << "A legnagyobb szam:: " << maxi
<< endl;
return 0;
}
6. Írjuk ki az ASCII kódtáblázatot.
#include
<iostream>
using namespace std;
int main()
{
int i;
for (i = 0; i
< 256; i++)
cout << (char)i
<< ": " << i << "\t";
cout << endl << endl;
return 0;
}
7.
Olvassunk be egy számot a
billentyűzetről és
állapítsuk meg hogy hány számjegye van.
#include
<iostream>
using namespace std;
int main()
{
int szam, i;
cout << "Kerek egy szamot: ";
cin >> szam;
for (i = 1; ; ++i){
szam /= 10;
if(szam == 0) break;
}
cout << "A szamjegyek szama: " << i
<< endl;
return 0;
}
8. Olvassunk be egy számot a billentyűzetről és
adjuk össze a számjegyeit.
#include
<iostream>
using namespace std;
int main()
{
int szam, i, sum;
cout << "Kerek egy szamot: ";
cin >> szam;
sum = 0;
for (i = 1; ; ++i){
sum += szam % 10;
szam /= 10;
if(szam == 0 ) break;
}
cout << "A szamjegyek osszege: " << sum
<< endl;
return 0;
}
9. Írjuk ki az első n páros számot egy
állományba.
#include
<iostream>
#include <fstream>
using namespace std;
int main()
{
int i, p, n;
ofstream fout;
fout.open("paros.txt");
cout << "n = ";
cin >> n;
p = 0;
for (i = 0; i < n; ++i){
fout << p << endl;
p += 2;
}
fout.close();
return 0;
}
A fenti feladatok standard C
író/olvasó függvényekkel
1. Olvassunk be 10 számot
a billentyűzetről és
amikor negatív számot olvasunk be, akkor sípoljon
egyet a gép.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i, x;
for (i=0; i<10; i++){
printf("szam = ");
scanf("%i", &x);
if( x<0 ) printf("sip
%c", 7);
}
system("pause");
return 0;
}
2. Olvassunk be 10 számot a billentyűzetről és
sípoljon egyet a gép ha az összes szám
páros volt.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i, x, k;
k = 0;
for (i = 0; i < 10; i++){
printf("szam = ");
scanf("%i", &x);
if( x%2 == 0 ) k++;
}
if( k == 10 ) printf("sip %c", 7);
system("pause");
return 0;
}
3. Olvassunk be 10 számot a billentyűzetről és adjuk
össze őket.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int
i, x, ossz;
ossz = 0;
for (i = 0;
i < 10; i++)
{
printf("szam = ");
scanf("%i", &x);
ossz += x;
}
printf("A
szamok osszege::%d\n",ossz);
system("pause");
return
0;
}
4. Olvassunk ki egy állományból 10 számot
és szorozzuk össze őket.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i, x, szor;
FILE *be;
be =
fopen("szamok.txt", "r");
szor = 1;
for (i = 0; i < 10; i++){
fscanf(be, "%i", &x);
szor *= x;
}
fclose(be);
printf("A szamok szorzata: %i\n", szor);
system("pause");
return 0;
}
5. Olvassunk ki egy állományból 10 számot
és határozzuk meg a legnagyobbat.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i, maxi, x;
FILE *be;
be = fopen("szamok.txt", "r");
for (i = 0; i < 10; i++)
{
fscanf(be, "%i", &x);
if (i == 0) maxi = x;
if (maxi < x) maxi = x;
}
fclose(be);
printf("A legnagyobb szam:: %d\n", maxi);
system("pause");
return 0;
}
6. Írjuk ki az ASCII kódtáblázatot.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i;
for (i = 0;
i < 256; i++)
printf(" %c:
%i\t", i, i);
printf("\n\n");
system("pause");
return
0;
}
7.
Olvassunk be egy számot a
billentyűzetről és
állapítsuk meg hogy hány számjegye van.
#include
<stdio.h>
#include
<stdlib.h>
int main()
{
int szam, i;
printf("Kerek egy szamot: ");
scanf("%i", &szam);
for (i = 1; ; ++i){
szam /= 10;
if(szam == 0 ) break;
}
printf("A szamjegyek szama: %i\n", i);
system("pause");
return 0;
}
8. Olvassunk be egy számot a billentyűzetről és
adjuk össze a számjegyeit.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int szam, i, sum;
printf("Kerek egy szamot: ");
scanf("%i", &szam);
sum = 0;
for (i = 1; ; ++i){
sum += szam % 10;
szam /= 10;
if(szam == 0 ) break;
}
printf("A szamjegyek osszege: %i\n", sum);
system("pause");
return 0;
}
9. Írjuk ki az első n páros számot egy
állományba.
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int i, p, n;
FILE *a;
a = fopen("paros.txt", "w");
printf("n = ");
scanf("%i", &n);
p = 0;
for (i=0; i<n; i++){
fprintf(a, "%i\n", p);
p = p + 2;
}
fclose(a);
system("pause");
return 0;
}
Házi
feladatok:
11. Írjuk ki az első n
Fibonacci számot számot a
képernyőre.
12. Olvassunk ki egy állományból n számot és
határozzuk meg az átlagukat.
13. Olvassunk be egy számot a billentyűzetről és
írjuk ki az első számjegyét a képernyőre.
14. Olvassunk be egy számot a billentyűzetről és
szorozzuk össze a számjegyeit.
15. Olvassunk be egy számot a billentyűzetről és
határozzuk meg a legkisebb számjegyét.
16. Olvassunk be egy számot a billentyűzetről és
határozzuk meg a legnagyobb számjegyét.
17. Egy szövegállományban ellenállás
értékeket tárolunk el. Olvassuk ki ezeket az
ellenállásokat és határozzuk meg az eredő
ellenállás értékét
a. feltételezve, hogy ezen
ellenállások sorba kötött alkatrészek
értékeinek felelnek meg,
b. feltételezve, hogy ezen
ellenállások párhuzamosan kötött
alkatrészek értékeinek felelnek meg.
18. Egy szövegállományban kondenzátorok
kapacitás értékeit tároltuk el. Olvassuk ki
ezeket az értékeket és határozzuk meg
az eredő kapacitást
a. feltételezve, hogy ezen kapacitások
sorosan vannak kapcsolva,
b. feltételezve, hogy ezen kapacitások
párhuzamosan vannak kapcsolva.
A fenti két példához szükséges
elméletet lásd itt.
19. Egy szövegállományban n darab tranzisztor valós
(mért) értékei találhatóak. Adva van
továbbá egy P
elvárt érték. Írjunk programot, mely
megállapítja, hogy mely tranzisztorok selejtesek. Egy
tranzisztor selejtes, ha 5%-kal tér el a valós
értéke az elvárt P
értéktől.
20. Írjunk programot, mely másodpercenkénti
lebontásban megadja, a v0
kezdősebességgel, a
gyorsulással, egyenes vonalú, egyenletesen
gyorsuló mozgást végző test
sebességértékeit. Az eredményt írjuk
ki egy szövegállományba.
v = v0 + a·t
21. Írjunk programot, mely másodpercenkénti
lebontásban megadja, a v0
kezdősebességgel, a
gyorsulással, egyenes vonalú, egyenletesen
gyorsuló mozgást végző test által, a t idő alatt megtett
útszakaszok értékeit. Az eredményt
írjuk ki egy szövegállományba.
s = v0·t + a/2·t2
22. Feltételezve, hogy egy szövegállományban
elvannak tárolva a februári napi
hőmérséklet értékek, írjunk
programot, mely meghatározza az átlag februári
hőmérsékletet.