powrót
//Ćwiczenie 1
#include<iostream>
using namespace std;
int main()
{
int n, *tab;
cin>>n;
tab = new int [n]; //przydzielenie pamięci na n elementów
for(int i=0;i<n;i++)
cin>>tab[i]; //wczytanie danych
for(int i=n-1;i>=0;i--) //wypisanie w odwrotnej kolejnosci
cout<<tab[i]<<" ";
cout<<endl;
return 0;
}
//Ćwiczenie 2
#include<iostream>
using namespace std;
int main()
{
int n, * tab = new int [1000001], ile = 0, liczba;
for(int i=0;i<1000001;i++)
tab[i] = 0; //wyzerowanie tablicy
cin>>n;
for(int i=0;i<n;i++)
{
cin>>liczba; //wczytanie liczby
++tab[liczba]; //zliczenie jej
}
//przeszukanie unikatowych wartosci
for(int i=0;i<n;i++)
if(tab[i]==1)
++ile;
cout<<ile<<endl;
return 0;
}
//Ćwiczenie 3
#include<iostream>
using namespace std;
int main()
{
int tab[104] = {}, q, l, k, o;
char znak;
cin>>o;
while(o--)
{
cin>>znak>>l>>k;
if(znak=='+')
tab[k]+=l;
else
tab[k]-=l;
}
cin>>q;
while(q--)
{
cin>>k;
cout<<tab[k]<<endl;
}
return 0;
}
//Ćwiczenie 4
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char wyraz[201];
int n, dl;
cin>>n;
while(n--)
{
cin>>wyraz;
dl = strlen(wyraz); //wyznaczenie liczby liter wyrazu
if(dl>4 && wyraz[0] == wyraz[dl-1])
cout<<wyraz<<endl;
}
return 0;
}
//Ćwiczenie 5
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int tab1[100000], tab2[100000], scal[200000], dl1, dl2;
cin>>dl1>>dl2;
for(int i=0;i<dl1;i++)
cin>>tab1[i]; //wczytanie pierwszej tablicy
for(int i=0;i<dl2;i++)
cin>>tab2[i]; //wczytanie drugiej tablicy
//scalanie tablic
int i = 0, j = 0, k = 0;
while(1)
{
if(i<dl1)
if(j<dl2)
if(tab1[i]<tab2[j])
scal[k++] = tab1[i++];
else
scal[k++] = tab2[j++];
else
{
while(i<dl1)
scal[k++] = tab1[i++];
break;
}
else
{
while(j<dl2)
scal[k++] = tab2[j++];
break;
}
}
for(i=0;i<k;i++)
cout<<scal[i]<<" ";
return 0;
}