Responsive image Boda Szilárd weblapja

1. Olvassunk be egy tetszőleges hosszúságú tömböt a billentyűzetről majd írjuk ki.

2. Határozzuk meg egy n hosszúságú tömb elemeinek a szorzatát. A tömbelemeket billentyűzetről olvassuk be.

3. Számítsuk és írjuk ki egy 1D tömb pozitív elemeinek az összegét. A tömbelemeket billentyűzetről olvassuk be


4. Írjunk egy programot, amelyben egy n elemű tömböt hozunk létre, majd billentyűzetről beolvassuk az egyes elemeket.
Ezután írjuk ki a tömböt, s keressük meg, s írjuk ki a legnagyobb s a második legkisebb elemet.

Az első 5 aki befejezi, 10 est kap a naplóba.


Bemenet
  • N=6
  • 5
  • 2
  • 1
  • 4
  • 5
  • 6



Kimenet
  • 2
  • 6

Házi feladat:
1. Az előbbi feladatban megkapott két számnak határozzuk meg és írjuk ki a lk. k. t. Tudjuk. hogy a lk. k. t = a*b/ ln. k. o,  ahol a és b a két szám.

Bemenet
  • N=6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6



Kimenet
  • 6


Beküldési határidő február 28, 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


Pluszfeladat 10 esért:
1. Használva bármit (megoldott feladatok más osztályoknál, google, stb. )
az órán oldjuk meg a házit úgy, hogy a tömbelemeket nem billentyűzetről olvassuk be,
hanem véletlen elemekkel töltjük fel, a rand() (http://www.cplusplus.com/reference/cstdlib/rand/) függvényt használva.
Tehát


Megoldott feladatok:
1. Hozzunk létre egy n elemű tömböt, amelyet billentyűzetről olvasunk be,
majd irassuk ki. Keressük meg a legkisebb és a legnagyobb elemét és írassuk is ki.

// a szukseges konyvtarak
#include <iostream>
#include <stdlib.h>

using namespace std;


int main()
{
//deklaralunk egy 100 000 res tombot
int v[100000] ;
//deklaraljuk azokat a valtozokat, amikre szuksegunk lesz
int i, n, min, max;

//beolvassuk a tomb meretet
cout << "a tomb elemeinek a szama = " ;
cin >> n ;
//egy for ciklussal beolvassuk egyenkent a tomb elemeit
for(i=0; i<n; i++)
{
//kiirjuk, hogy minek a beolvasasara varunk,
//hogy felhasznalobaratabba tegyuk a programot,
//de ez a sor csak azert kell, hogy kiirja a kepernyore, amit be kell olvasni,
// szoval nem szukseges
cout << "v[" << i << "]=";
//beolvassuk a tombelemeket cin el
cin >> v[i];

}

//tomb kiirasa
for (i = 0 ; i < n ; i++ )
{
// irunk egy tab ot a tombelem utan, hogy jol lathatoak legyenek az ertekek
cout << v[i] << "\t" ;
}
cout << endl;
//------------------------------------MAXIMUM KEZDETE--------------------------------------
//maximum keresese. A legegyszerubb megoldas az ra, ha feltetelezzuk,
//hogy a tomb elso eleme a maximum, s ha barmelyik masik elem nagyobb
// ennel az elemnel, akkor az lesz uj maximum
max = v[0];
for (i = 0 ; i < n ; i ++){

//ha egy tetszoleges elem nagyobb mint az uj maximum, akkor az lesz az uj maximum
if (v[i]>max) {
max = v[i];
}
}
//kiirjuk, hogy melyik a maximum elem
cout << "a legnagyobb elem " << max << endl;

//------------------------------------MAXIMUM VEGE--------------------------------------

//------------------------------------MINIMUM KEZDETE--------------------------------------
//minimum keresese. Ugyanaz mint a maximum kereses, csak az osszehasonlitas forditott a
// ciklusban. Lehetne a minimumot s a maximumot egy ciklusban keresni, ket if fel.
min = v[0];
for (i = 0 ; i < n ; i ++){

//ha egy tetszoleges elem nagyobb mint az uj maximum, akkor az lesz az uj maximum
if (v[i]<min) {
min = v[i];
}
}
//kiirjuk, hogy melyik a maximum elem
cout << "a legkisebb elem " << min;

//------------------------------------MINIMUM VEGE--------------------------------------
return 0;
}


2. Hozzunk létre egy n elemű tömböt, amelyet billentyűzetről olvasunk be,
majd irassuk ki. Rendezzük növekvő sorrendben, majd írassuk ki rendezetten is!

// a szukseges konyvtarak
#include
#include

using namespace std;


int main()
{
//deklaralunk egy 100 000 res tombot
int v[100000] ;
//deklaraljuk azokat a valtozokat, amikre szuksegunk lesz
int i, n, j, aux;

//beolvassuk a tomb meretet
cout << "a tomb elemeinek a szama = " ;
cin >> n ;
//egy for ciklussal beolvassuk egyenkent a tomb elemeit
for(i=0; i<< "v[" << i << "]=";
//beolvassuk a tombelemeket cin el
cin >> v[i];

}

//tomb kiirasa
for (i = 0 ; i < n ; i++ )
{
// irunk egy tab ot a tombelem utan, hogy jol lathatoak legyenek az ertekek
cout << v[i] << "\t" ;
}
cout << endl;
//------------------------------------RENDEZES KEZDETE--------------------------------------
//ket ciklussal jarjuk be a tombot, s amikor a tomb bal feleben talalunk egy elemet, amely nagyobb
//mint a jobb oldalon levo elem, akkor csereljuk oket
for (i=0; i <n-1;i++){
for(j=i+1;j<n;j++){
if (v[i] > v[j]){
//ket valtozo csereje segedvaltozoval, elobb lementjuk az egyik valtozo erteket a segedvaltozoban
aux= v[j];
//amelyik valtozonak az erteket lementettuk, abba atmasoljuk a masik valtozo erteket
v[j]= v[i];
//vegul a masodik valtozonak megfeleltetjuk a segedvaltozo erteket, ami az elso valtozo erteke votl kezdetben
v[i]=aux;


}

}

}
//------------------------------------RENDEZES VEGE--------------------------------------

//kiirjuk a rendezett tombot
cout << " A rendezett tomb " << endl;
for (i = 0 ; i < n ; i++ )
{
// irunk egy tab ot a tombelem utan, hogy jol lathatoak legyenek az ertekek
cout << v[i] << "\t" ;
}
cout << endl;


return 0;
}