==== Vektorok kezelése ====
**1. feladat:** Kérjen be a felhasználótól egy számot (n) és egy 100 elemű char vektorban hozzon létre n darab véletlen kis-nagy betűkből álló jelszót.
#include
#include
int main()
{
char password[100];
int n, i;
printf("Hany karakteres legyen a jelszo?");
scanf("%d", &n);
srand(time(0));
for(i = 0; i < n; i++) {
password[i] = rand() % ('z' - 'A') + 'A';
}
password[i] = '\0';
printf("%s", password);
}
**2. feladat:** Keressük meg egy egészekből álló tömb második legnagyobb elemét.
#include
int main()
{
int tomb[] = {44, 45, 23 ,43 , 7};
int n = sizeof(tomb) / sizeof(int);
int i;
// legnagyobb elem megkeresese
int max = tomb[0];
for(i = 0; i < n ; i++)
{
if(max < tomb[i])
{
max = tomb[i];
}
}
// masodik legnagyobb elem megkeresese
int max2 = tomb[0];
for(i = 0; i < n ; i++)
{
if(max != tomb[i] && tomb[i] > max2)
{
max2 = tomb[i];
}
}
printf("A legnagyobb = %d\n", max);
printf("A 2. legnagyobb = %d\n", max2);
}
**3. feladat:** Írassuk ki egy tömb elemeit fordított sorrendben.
#include
int main()
{
int tomb[] = {44, 45, 23 , 43 , 7};
int n = sizeof(tomb) / sizeof(int);
int i;
for(i = n-1; i >= 0; i--)
{
printf("%d ", tomb[i]);
}
}
**4. feladat:** Adott egy 5 elemű egészekből álló tömb. Kérjünk be a felhasználótól egy új elemet és egy pozíciót. Szúrjük be a tömbbe az új elemet és írassuk ki az eredményt.
#include
int main()
{
int tomb[6] = {44, 45, 23 , 43 , 7};
int n = sizeof(tomb) / sizeof(int);
int i;
int b, ii;
printf("Mit szeretne beilleszteni?");
scanf("%d", &b);
printf("Hanyadik elemkent szeretne beilleszteni?");
scanf("%d", &ii);
for(i = n-1; i >= ii; i--)
{
tomb[i] = tomb[i - 1];
}
tomb[ii] = b;
for(i = 0; i < n; i++)
{
printf("%d ", tomb[i]);
}
}
**5. feladat:** "Forgassuk el" egy előre megadott vektor elemeit megadott számszor balra, a balról kieső elemet utolsó elemként használjuk fel.
#include
int main()
{
int tomb[] = {44, 45, 23, 43, 7};
int n = sizeof(tomb) / sizeof(int);
int i, rot;
printf("Hanyszor forgatunk balra?");
scanf("%d", &rot);
while(rot--)
{
int x = tomb[0];
for(i = 1; i < n; i++)
{
tomb[i - 1] = tomb[i];
}
tomb[n - 1] = x;
}
for(i = 0; i < n; i++)
{
printf("%d ", tomb[i]);
}
}
**6. feladat:** Adott egy vektor ami azonos elemeket is tartalmazhat. Töröljük ki a többször szereplő elemeket és írassuk ki az új vektort.
#include
int main()
{
int tomb[] = {10, 20, 10, 1, 100, 10, 2, 1, 5, 10, 32};
int n = sizeof(tomb) / sizeof(int);
int dupla = 0;
for(int i = 0; i < n - 1; i++)
{
for(int j = i + 1; j < n; j++)
{
if(tomb[i] == tomb[j])
{
for(int m = j; m < n-1; m++)
{
tomb[m] = tomb[m+1];
}
n--;
}
}
}
for(int i = 0; i < n; i++)
{
printf("%d ", tomb[i]);
}
}