1. Każdą liczbę naturalną można przedstawić jako sumę jej cyfr plus wielokrotność liczby 9. Napisz program,
który dla wprowadzonej liczby policzy i wypisze na ekranie tą wielokrotność.
int main()
{
int n,m;
cout<<"Podaj liczbe\n";
cin>>n;
m=n;
while(n>0)
m=m-n%10;
n=n/10;
}
cout<<"Szukana wielokrotnosc wynosi "<<m/9<<endl;
return 0;
2. Liczba naturalna dzieli się bez reszty przez 3 jeżeli suma jej cyfr dzieli się przez 3. Napisz program, który
sprawdzi i wypisze na ekranie czy wprowadzona liczba dzieli się przez 3 korzystając z podanej zasady.
int n,suma;
do
suma=0;
suma=suma+n%10;
n=suma;
}while(suma>10);
if(suma==3 || suma==6 || suma==9)
cout<<"Liczba jest podzielna przez 3\n";
else
cout<<"Liczba nie jest podzielna przez 3\n";
3. Napisz program, który sprawdzi i wypisze na ekranie, czy podana liczba (typu int) składa się w większości z
cyfr parzystych czy nieparzystych.
int n,r,il_parz=0,il_nparz=0;
r=n%10;
if(r%2==0)
il_parz++;
il_nparz++;
if(il_parz>il_nparz)
cout<<"W liczbie jest wiecej liczb parzystych\n";
else if(il_parz<il_nparz)
cout<<"W liczbie jest wiecej liczb nieparzystych\n";
cout<<"W liczbie jest tyle samo liczb parzystych co nieparzystych\n";
4. Napisz program, który policzy i wypisze na ekranie oddzielnie sumę cyfr stojących na miejscach parzystych i
nieparzystych we wprowadzonej liczbie (typu int).
int n,sum1=0,sum2=0,i=0;
if(i%2==0)
sum1=sum1+n%10;
sum2=sum2+n%10;
i++;
cout<<"Suma liczb stojacych na miejscach parzystych wynosi "<<sum1<<endl;
cout<<"Suma liczb stojacych na miejscach nieparzystych wynosi
"<<sum2<<endl;
cout<<"Suma liczb stojacych na miejscach parzystych wynosi "<<sum2<<endl;
"<<sum1<<endl;
5. Napisz program, który policzy i wypisze na ekranie średnią wszystkich liczb trzycyfrowych, których suma cyfr
jest równa wprowadzonej liczbie.
int n,suma=0,ilosc=0;
double srednia;
for (int i=100; i<=999; i++)
if(i%10+i/10%10+i/100==n)
suma=suma+i;
ilosc++;
srednia=double(suma)/ilosc;
cout<<"Srednia wynosi "<<srednia<<endl;
1. Dana jest n elementowa tablica liczb całkowitych:
const int n=…;
int tab[n]={…};
Napisz funkcję, która nic nie zwraca, a jako argumenty przyjmuje tablicę oraz jej długość. Funkcja ma usunąć z
tablicy wszystkie liczby parzyste przesuwając pozostałe liczby w lewo, np.: {1,2,3,4,5,6} -> {1,3,5,0,0,0}.
void fun(int tab[], int n)
int k=n;
for (int i=0; i<k; i++)
if (tab[i]%2==0)
for (int j=i; j<n-1; j++)
tab[j]=tab[j+1];
tab[n-1]=0;
i--;
k--;
const int n=10;
int tab[n]={1,2,3,4,5,6,7,8,9,10};
fun(tab,n);
for (int i=0; i<n; i++)
cout<<tab[i]<<endl;
2. Utwórz tablicę nxn (n – stała znana na etapie kompilacji) liczb całkowitych i wypełnij ją w następujący
sposób:
1 3
2 4
5 7
6 8
9 11
10 12
13 15
14 16
const int n=4;
int tab[n][n];
int k;
k=(i-i%2)*n+i%2+1;
for (int j=0; j<n; j++)
tab[i][j]=k;
k+=2;
cout<<tab[i][j]<<"\t";
cout<<endl;
3. Dana jest tablica liczb całkowitych o długości n zawierająca wyłącznie wartości zero lub jeden. Napisz funkcję,
która otrzymuje tablicę oraz jej rozmiar. Funkcja ma zwrócić wartość prawda lub fałsz w zależności czy wszystkie
jedynki w tablicy znajdują się koło siebie (np.: {0,1,1,1,0,0} – prawda, {0,1,0,1,1} – fałsz, {0,0} – fałsz). Napisz
przykładowy program wywołujący tą funkcję (tablicę zainicjalizuj wartościami {…}).
bool fun(int tab[], int n)
int zmiany=0;
for (int i=0; i<n-1; i++)
if (tab[i]!=tab[i+1])
zmiany++;
zmiany+=tab[0];
if (zmiany==1 || zmiany==2)
return true;
return false;
const int n=5;
int tab[n]={0,0,1,1,0};
cout<<boolalpha<<fun(tab,n)<<endl;
4. Utwórz tablicę nxn (n – stała znana na etapie kompilacji) liczb całkowitych i wypełnij ją w następujący
1 5
0 2
8 10
6 9
0 0
3 7
0 4
int tab[n][n]={0};
int k=1;
for (int j=0; j+i<n; j++)
tab[j][j+i]=k;
k++;
5. Dana jest tablica 2D liczb całkowitych o rozmiarze nxn zawierająca n zer. Napisz program, który sprawdzi i
wypisze na ekranie informację, czy wszystkie zera w tablicy to zera niezależne (w żadnej kolumnie ani wierszu nie ma
dwóch zer).
const int n=3;
int tab[n][n]={0,1,2,3,0,4,5,6,0};
int il_w, il_k, il=0;
il_w=0; il_k=0;
if (tab[i][j]==0)
il_w++;
if (tab[j][i]==0)
il_k++;
if (il_w!=1 || il_k!=1)
break;
il++;
if (il==n)
cout<<"Macierz zawiera zera niezalezne\n";
cout<<"Macierz zawiera zera zalezne\n";
...
KaSSSxxx