You are on page 1of 17

DRUGI KOLOKVIJUM - PONOVO

1. Napisati program na C-u kojim se od dva celobrojna niza A i B, dimenzija M i


N, respektivno,
formira niz C tako da se niz C prvo popunjava elementima niza B
ija je vrednost vea od vrednosti poslednjeg elementa niza A,
a zatim se popunjava elementima niza A koji su deljivi brojem 3.
Dimenzije M i N kao i elemente nizova A i B uneti sa tstature.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z1() {
printf("Unesite velicinu prvog niza m:\n");
fflush(stdout);
int m = 0;
scanf("%d",&m);
printf("Unesite velicinu drugog niza n:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int* nizA = malloc(m*sizeof(int));
int* nizB = malloc(n*sizeof(int));
int i,j, maxa;
maxa = 0;
printf("Unos niza A: \n");
fflush(stdout);
for(i=0;i<m;i++) {
scanf("%d",&nizA[i]);
if (maxa < nizA[i]) maxa=nizA[i];
}
printf("Unos niza B: \n");
fflush(stdout);
for(i=0;i<n;i++) {
scanf("%d",&nizB[i]);
};
j=0;
int k;
k=n+m;
int* nizC = malloc(k*sizeof(int));
for(i=0;i<n;i++) {
if (nizB[i]>maxa) {
nizC[j]= nizB[i];
j++;
}
}
for(i=0;i<m;i++) {
if (nizA[i]%3==0) {
nizC[j]= nizA[i];
j++;
}
}
// j sada predstavlja velicinu niza c
printf("Niz C: \n");
for(i=0;i<j;i++) {
printf("%d ", nizC[i]);
}
return 0;
}
2. Napisati program na C-u kojim se od stringova A i B, koji se inicijalizuju p
ri deklaraciji
i koji predstavljaju vae ime odnosno prezime, formira string C koji se sastoji od
vaeg imena i prezimena, zajedno, a kao poveznik meu njima se koristi donja crtica.
Npr. za studenta Petar Petrovic, string C treba da izgleda: Petar_Petrovic.
Na ekranu tampati stringove A, B i C.
Resenje:
#include <stdio.h>
#include <string.h>
int kl2_pon_z2() {
char ime[20];
strcpy(ime, "Petar");
char prezime[20];
strcpy(prezime, "Petrovic");
char c[50];
strcpy(c,ime);
strcat(c, "_");
strcat(c,prezime);
printf("Ime: %s\n", ime);
printf("Prezime: %s\n", prezime);
printf("Puno ime i prezime: %s\n", c);
return 0;
}
3. Napisati program na programskom jeziku C kojim se u celobrojni niz A iji su el
ementi sortirani u opadajui redosled, umee 5 novih brojeva. Obezbediti da posle um
etanja svakog broja niz ostane sortiran. Rezultujui niz tampati na ekranu.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z3() {
printf("Unesite velicinu niza A:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int* nizA = malloc((n+5)*sizeof(int));
int i, temp, j, k;
printf("Unos niza A: \n");
fflush(stdout);
// elemente niza A sotiracemo prilikom unosa,
// tako sto cemo svaki uneti element prvo upisati u
// privremenu promenjivu
for(i=0;i<n;i++) {
scanf("%d",&temp);
j = 0;
for(k=0;k<i;k++) // pronaci cemo poziciju prvog elemnta niza koji je manji od te
mp (j)
{ if(temp < nizA[j]) j++;};
if (i == 0) nizA[j] = temp;
else{
for (k=i; k>j; k--) nizA[k]=nizA[k-1]; // pomeraj u desno svih elemenata pocev o
d j
};
nizA[j] = temp; // unos novog elementa niza
};
printf("Trenutno stanje niza A: \n");
for (i=0; i<n; i++) printf("%d ",nizA[i]);
printf("\n");
printf("Unesite 5 novih elemenata niza A:\n");
fflush(stdout);
for (i=0; i<5; i++) { // postuipak je slican kao prolikom predhodnog unosa
scanf("%d",&temp);
j = 0;
for(k=0;k<n+i;k++)
{ if(temp < nizA[j]) j++;};
for (k=n+i; k>j; k--) nizA[k]=nizA[k-1];
nizA[j] = temp;
};
printf("Stanje niza A posle ubacivanja novih elemenata: \n");
for (i=0; i<n+5; i++) printf("%d ",nizA[i]);
return 0;
}
4. Napisati program na C-u kojim se od elemenata celobrojne matrice A, koji se n
alaze ispod glavne i desno od sporedne dijagonale, formira celobrojni niz B. Red
matrice A uneti sa tastature, a na ekran tampati matricu A i dobijeni niz B.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z4() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n];
int i,j;

printf("Unesite elemente matrice:\n");
fflush(stdout);

for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
scanf("%d",&a[i][j]);
}
}

int b[n*n];
int k = 0; // koisticemo ovu promenljivu da izbrojimo elemente niza

for(i=0; i<n; i++)
for(j=0; j<i; j++)
{
b[k]= a[i][j];
k++;
}

for(j=n-1; j>0; j--)
for(i=n-j; i<n; i++)
if (j>i)
{
b[k]= a[i][j]; // sa desne strane sporedne dijagonale
k++; // ali ne i ispod glavne, da ne bismo unosili
} // neke elemente dva puta
printf("Ispis matrice:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}

printf("Ispis niza:\n");
for(i=0;i<k;i++) printf("%d ",b[i]);

return 0;
}
5. Napisati program na C-u kojim se generie i tampa matrica A reda N (maksimalna v
rednost za N je 7) na sledei nain:
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z5() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
char a[n][n];
int i,j;
char c = 'a';

for(j=n-1;j>=0;j--)
for(i=0;i<n;i++)
if (j%2==0) a[i][j] = '*';
else a[i][j] = c++;
printf("Ispis matrice:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%c ",a[i][j]);
printf("\n");
}

return 0;
}
DRUGI KOLOKVIJUM - PONOVO1
***************** je jako slican onom gore *********************
DRUGI KOLOKVIJUM:
1. Napisati program na C-u kojim se vri mnoenje elemenata dva niza istih dimenzija
, tako da se sabira prvi element prvog niza sa poslednjim elementom drugog niza,
drugi element prvog niza sa pretposlednjim elementom drugog niza, itd. Elementi
nizova su realni brojevi.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_z1() {
int n,i;
double p,*a,*b;

printf("Unesi duzinu niza: ");
fflush(stdout);
scanf("%d",&n);

a = malloc(n*sizeof(double));
b = malloc(n*sizeof(double));

printf("Unesi prvi niz: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%lf",&a[i]);

printf("Unesi drugi niz: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%lf",&b[i]);
p=0;

for(i=0;i<n;i++)
{
p+=a[i]*b[n-i-1];
}
printf("Proizvod je: %lf\n",p);

return 0;
}
2. Napisati program na C-u kojim se od stringa A, koji se unosi sa tastature i
koji se sastoji od malih i velikih slova engleskof alfabeta , formiraju dva stri
nga B i C koji se sastoje od malih, odnosno, velikih slova stringa A, respektivn
o.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_z2() {
char a[100],b[100],c[100]; // u ovom slucaju je bolje definisati nizove na ovaj
nacin
int i,k=0,l=0;
printf("Unesi string: ");
fflush(stdout);
gets(a);
for (i=0;i<strlen(a);i++)
{
if (a[i] >= 0x41 && a[i] <= 0x5A) c[k++] = a[i]; // ubacivanje u niz c velik
ih slova
if (a[i] >= 0x61 && a[i] <= 0x7A) b[l++] = a[i]; // ubacivanje u niz b malih
slova
}
c[k]='\0';b[l]='\0'; // dodavanje null karaktera na kraj stringova

printf("Niz koji se sastoji smo od malih slova: \n");
puts(b);
printf("Niz koji se sastoji smo od velikih slova: \n");
puts(c);

return 0;
}
3. Na programskom jeziku C napisati program kojim se na osnovu skupova A, B i C,
formira skup D=(B unija C)\A, pri emu su A, B i C celobrojni skupovi, dimenzija
N. tampati skupove A, B, C i D.
Resenje:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 4
int uskupu(int *a,int n,int x) // provera da li se element x nalazi u nizu a
{
int i;
for(i=0;i<n;i++) if(a[i]==x) return 1;
return 0;
}
int main() {
int n,i,k=0;
int *a,*b,*c,*d;
printf("Unesi broj elemenata skupova: ");
fflush(stdout);
scanf("%d",&n);
a = malloc(n*sizeof(int));
b = malloc(n*sizeof(int));
c = malloc(n*sizeof(int));
d = malloc(2*n*sizeof(int));

printf("Uneste elemente skup a: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&a[i]);

printf("Uneste elemente skup b: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&b[i]);

printf("Unesite elemente skupa c: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&c[i]);

for(i=0;i<n;i++) if(!uskupu(a,n,b[i])) d[k++]=b[i];
for(i=0;i<n;i++) if(!uskupu(b,n,c[i])) d[k++]=c[i];
d = realloc(d,k*sizeof(int));

printf("Sledeci element se nalaze u skupovima b i c ali ne i u skupu a:\n");
for(i=0;i<k;i++) printf("%d ",d[i]);

return 0;
}
4. Napisati program na C-u kojim se izraunava suma elemenata matrice A, NxN, izna
d glavne dijagonale i proizvod elemenata matrice A, desno od sporedne dijagonale
. Elemente matrice A inicijalizovati prilikom deklaracije matrice.
Resenje:
#include<stdio.h>
#include<stdlib.h>
int kl2_z4() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n];
int i,j,s=0,p=1;
printf("Unesi matricu: \n");
fflush(stdout);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(i<j) s+=a[i][j]; // suma elemenata ispod glavne dijagonale
if(i+j>=n) p*=a[i][j]; // proizvod elemenata desno od sporedne dijagonale
}
printf("Suma elemenata iznad glavne dijagonale je: %d\n",s);
printf("Proizvod elemenata desno od sporedne dijagonale je: %d\n",p);
return 0;
}
5. Napisati program na C-u kojim se generie i tampa matrica A reda N na sledei nain:
Resenje:
#include<stdio.h>
#include<stdlib.h>
int kl2_z5() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n],i,j,k=1;

for(j=n-1;j>=0;j--) // punjenje matrice odgovarajucim elementima
for(i=0;i<n;i++)
if(i+j>=n-1) a[i][j]=k++;
else a[i][j]=0;

for(i=0;i<n;i++) // ispis matrice
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
DRUGI KOLOKVIJUM - PONOVO
1. Napisati program na C-u kojim se od dva celobrojna niza A i B, dimenzija M i
N, respektivno,
formira niz C tako da se niz C prvo popunjava elementima niza B
ija je vrednost vea od vrednosti poslednjeg elementa niza A,
a zatim se popunjava elementima niza A koji su deljivi brojem 3.
Dimenzije M i N kao i elemente nizova A i B uneti sa tstature.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z1() {
printf("Unesite velicinu prvog niza m:\n");
fflush(stdout);
int m = 0;
scanf("%d",&m);
printf("Unesite velicinu drugog niza n:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int* nizA = malloc(m*sizeof(int));
int* nizB = malloc(n*sizeof(int));
int i,j, maxa;
maxa = 0;
printf("Unos niza A: \n");
fflush(stdout);
for(i=0;i<m;i++) {
scanf("%d",&nizA[i]);
if (maxa < nizA[i]) maxa=nizA[i];
}
printf("Unos niza B: \n");
fflush(stdout);
for(i=0;i<n;i++) {
scanf("%d",&nizB[i]);
};
j=0;
int k;
k=n+m;
int* nizC = malloc(k*sizeof(int));
for(i=0;i<n;i++) {
if (nizB[i]>maxa) {
nizC[j]= nizB[i];
j++;
}
}
for(i=0;i<m;i++) {
if (nizA[i]%3==0) {
nizC[j]= nizA[i];
j++;
}
}
// j sada predstavlja velicinu niza c
printf("Niz C: \n");
for(i=0;i<j;i++) {
printf("%d ", nizC[i]);
}
return 0;
}
2. Napisati program na C-u kojim se od stringova A i B, koji se inicijalizuju p
ri deklaraciji
i koji predstavljaju vae ime odnosno prezime, formira string C koji se sastoji od
vaeg imena i prezimena, zajedno, a kao poveznik meu njima se koristi donja crtica.
Npr. za studenta Petar Petrovic, string C treba da izgleda: Petar_Petrovic.
Na ekranu tampati stringove A, B i C.
Resenje:
#include <stdio.h>
#include <string.h>
int kl2_pon_z2() {
char ime[20];
strcpy(ime, "Petar");
char prezime[20];
strcpy(prezime, "Petrovic");
char c[50];
strcpy(c,ime);
strcat(c, "_");
strcat(c,prezime);
printf("Ime: %s\n", ime);
printf("Prezime: %s\n", prezime);
printf("Puno ime i prezime: %s\n", c);
return 0;
}
3. Napisati program na programskom jeziku C kojim se u celobrojni niz A iji su el
ementi sortirani u opadajui redosled, umee 5 novih brojeva. Obezbediti da posle um
etanja svakog broja niz ostane sortiran. Rezultujui niz tampati na ekranu.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z3() {
printf("Unesite velicinu niza A:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int* nizA = malloc((n+5)*sizeof(int));
int i, temp, j, k;
printf("Unos niza A: \n");
fflush(stdout);
// elemente niza A sotiracemo prilikom unosa,
// tako sto cemo svaki uneti element prvo upisati u
// privremenu promenjivu
for(i=0;i<n;i++) {
scanf("%d",&temp);
j = 0;
for(k=0;k<i;k++) // pronaci cemo poziciju prvog elemnta niza koji je manji od te
mp (j)
{ if(temp < nizA[j]) j++;};
if (i == 0) nizA[j] = temp;
else{
for (k=i; k>j; k--) nizA[k]=nizA[k-1]; // pomeraj u desno svih elemenata pocev o
d j
};
nizA[j] = temp; // unos novog elementa niza
};
printf("Trenutno stanje niza A: \n");
for (i=0; i<n; i++) printf("%d ",nizA[i]);
printf("\n");
printf("Unesite 5 novih elemenata niza A:\n");
fflush(stdout);
for (i=0; i<5; i++) { // postuipak je slican kao prolikom predhodnog unosa
scanf("%d",&temp);
j = 0;
for(k=0;k<n+i;k++)
{ if(temp < nizA[j]) j++;};
for (k=n+i; k>j; k--) nizA[k]=nizA[k-1];
nizA[j] = temp;
};
printf("Stanje niza A posle ubacivanja novih elemenata: \n");
for (i=0; i<n+5; i++) printf("%d ",nizA[i]);
return 0;
}
4. Napisati program na C-u kojim se od elemenata celobrojne matrice A, koji se n
alaze ispod glavne i desno od sporedne dijagonale, formira celobrojni niz B. Red
matrice A uneti sa tastature, a na ekran tampati matricu A i dobijeni niz B.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z4() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n];
int i,j;

printf("Unesite elemente matrice:\n");
fflush(stdout);

for(i=0;i<n;i++) {
for(j=0;j<n;j++) {
scanf("%d",&a[i][j]);
}
}

int b[n*n];
int k = 0; // koisticemo ovu promenljivu da izbrojimo elemente niza

for(i=0; i<n; i++)
for(j=0; j<i; j++)
{
b[k]= a[i][j];
k++;
}

for(j=n-1; j>0; j--)
for(i=n-j; i<n; i++)
if (j>i)
{
b[k]= a[i][j]; // sa desne strane sporedne dijagonale
k++; // ali ne i ispod glavne, da ne bismo unosili
} // neke elemente dva puta
printf("Ispis matrice:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}

printf("Ispis niza:\n");
for(i=0;i<k;i++) printf("%d ",b[i]);

return 0;
}
5. Napisati program na C-u kojim se generie i tampa matrica A reda N (maksimalna v
rednost za N je 7) na sledei nain:
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_pon_z5() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
char a[n][n];
int i,j;
char c = 'a';

for(j=n-1;j>=0;j--)
for(i=0;i<n;i++)
if (j%2==0) a[i][j] = '*';
else a[i][j] = c++;
printf("Ispis matrice:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%c ",a[i][j]);
printf("\n");
}

return 0;
}
DRUGI KOLOKVIJUM - PONOVO1
***************** je jako slican onom gore *********************
DRUGI KOLOKVIJUM:
1. Napisati program na C-u kojim se vri mnoenje elemenata dva niza istih dimenzija
, tako da se sabira prvi element prvog niza sa poslednjim elementom drugog niza,
drugi element prvog niza sa pretposlednjim elementom drugog niza, itd. Elementi
nizova su realni brojevi.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_z1() {
int n,i;
double p,*a,*b;

printf("Unesi duzinu niza: ");
fflush(stdout);
scanf("%d",&n);

a = malloc(n*sizeof(double));
b = malloc(n*sizeof(double));

printf("Unesi prvi niz: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%lf",&a[i]);

printf("Unesi drugi niz: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%lf",&b[i]);
p=0;

for(i=0;i<n;i++)
{
p+=a[i]*b[n-i-1];
}
printf("Proizvod je: %lf\n",p);

return 0;
}
2. Napisati program na C-u kojim se od stringa A, koji se unosi sa tastature i
koji se sastoji od malih i velikih slova engleskof alfabeta , formiraju dva stri
nga B i C koji se sastoje od malih, odnosno, velikih slova stringa A, respektivn
o.
Resenje:
#include <stdio.h>
#include <stdlib.h>
int kl2_z2() {
char a[100],b[100],c[100]; // u ovom slucaju je bolje definisati nizove na ovaj
nacin
int i,k=0,l=0;
printf("Unesi string: ");
fflush(stdout);
gets(a);
for (i=0;i<strlen(a);i++)
{
if (a[i] >= 0x41 && a[i] <= 0x5A) c[k++] = a[i]; // ubacivanje u niz c velik
ih slova
if (a[i] >= 0x61 && a[i] <= 0x7A) b[l++] = a[i]; // ubacivanje u niz b malih
slova
}
c[k]='\0';b[l]='\0'; // dodavanje null karaktera na kraj stringova

printf("Niz koji se sastoji smo od malih slova: \n");
puts(b);
printf("Niz koji se sastoji smo od velikih slova: \n");
puts(c);

return 0;
}
3. Na programskom jeziku C napisati program kojim se na osnovu skupova A, B i C,
formira skup D=(B unija C)\A, pri emu su A, B i C celobrojni skupovi, dimenzija
N. tampati skupove A, B, C i D.
Resenje:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 4
int uskupu(int *a,int n,int x) // provera da li se element x nalazi u nizu a
{
int i;
for(i=0;i<n;i++) if(a[i]==x) return 1;
return 0;
}
int main() {
int n,i,k=0;
int *a,*b,*c,*d;
printf("Unesi broj elemenata skupova: ");
fflush(stdout);
scanf("%d",&n);
a = malloc(n*sizeof(int));
b = malloc(n*sizeof(int));
c = malloc(n*sizeof(int));
d = malloc(2*n*sizeof(int));

printf("Uneste elemente skup a: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&a[i]);

printf("Uneste elemente skup b: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&b[i]);

printf("Unesite elemente skupa c: ");
fflush(stdout);
for(i=0;i<n;i++) scanf("%d",&c[i]);

for(i=0;i<n;i++) if(!uskupu(a,n,b[i])) d[k++]=b[i];
for(i=0;i<n;i++) if(!uskupu(b,n,c[i])) d[k++]=c[i];
d = realloc(d,k*sizeof(int));

printf("Sledeci element se nalaze u skupovima b i c ali ne i u skupu a:\n");
for(i=0;i<k;i++) printf("%d ",d[i]);

return 0;
}
4. Napisati program na C-u kojim se izraunava suma elemenata matrice A, NxN, izna
d glavne dijagonale i proizvod elemenata matrice A, desno od sporedne dijagonale
. Elemente matrice A inicijalizovati prilikom deklaracije matrice.
Resenje:
#include<stdio.h>
#include<stdlib.h>
int kl2_z4() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n];
int i,j,s=0,p=1;
printf("Unesi matricu: \n");
fflush(stdout);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(i<j) s+=a[i][j]; // suma elemenata ispod glavne dijagonale
if(i+j>=n) p*=a[i][j]; // proizvod elemenata desno od sporedne dijagonale
}
printf("Suma elemenata iznad glavne dijagonale je: %d\n",s);
printf("Proizvod elemenata desno od sporedne dijagonale je: %d\n",p);
return 0;
}
5. Napisati program na C-u kojim se generie i tampa matrica A reda N na sledei nain:
Resenje:
#include<stdio.h>
#include<stdlib.h>
int kl2_z5() {
printf("Unesite dimenziju matrice:\n");
fflush(stdout);
int n = 0;
scanf("%d",&n);
int a[n][n],i,j,k=1;

for(j=n-1;j>=0;j--) // punjenje matrice odgovarajucim elementima
for(i=0;i<n;i++)
if(i+j>=n-1) a[i][j]=k++;
else a[i][j]=0;

for(i=0;i<n;i++) // ispis matrice
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}

You might also like