Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<ctype.h>
- // niza[i] e isto so *(niza+i)
- // vnesuvame brojki dodeka ne vneseme neshto shto ne e brojka
- // sekoja brojka treba da vidime dali pocnuva na neparna i zavrshuva na parna cifra
- // printame prvite 5 vakvi brojki sortirani po rastecki redosled
- int rekurzija(int x){
- // dali ni ostanalo edna cifra
- if(x<10){
- if(x%2==1){
- return 1;
- }else{
- return 0;
- }
- }else{
- return rekurzija(x/10);
- }
- }
- int main(){
- int n,i,j,pom,brojac=0;
- int niza[100];
- while(scanf("%d",&n)){
- // prva neparna (rekurzija) i poslednata da e parna
- if(rekurzija(n) && n%10%2==0){
- niza[brojac]=n;
- brojac++;
- }
- }
- // (bubble) sort na niza
- for(i=0;i<brojac;i++){
- for(j=0;j<brojac-1;j++){
- if(niza[j]>niza[j+1]){
- pom=niza[j];
- niza[j]=niza[j+1];
- niza[j+1]=pom;
- }
- }
- }
- for(i=0;i<5;i++){
- printf("%d ",niza[i]);
- }
- return 0;
- }
- /*
- int main(){
- int k;
- scanf("%d",&k);
- FILE *f1=fopen("text.txt","r");
- FILE *f2=fopen("output.txt","w");
- char c;
- while((c=fgetc(f1))!=EOF){
- if(isalpha(c)){
- // prvo za golemi bukvi
- // A=65 Z=90
- // X=88 k=3
- if(isupper(c)){
- // prv sluchaj
- if(c+k>'Z'){
- c=c+k-26;
- //razlika=k-90-c;
- //c='A'+razlika;
- }else{
- c=c+k;
- }
- }else{
- if(c+k>'z'){
- c=c+k-26;
- }else{
- c=c+k;
- }
- }
- }
- fputc(c,f2);
- }
- fclose(f1);
- fclose(f2);
- return 0;
- }
- /*
- // od kraj do pocetok izminuvanje na niza
- int cenzuriraj(char* niza,int n){
- if(n==-1){
- return 0;
- }else{
- if(tolower(*(niza+n))=='a' || tolower(*(niza+n))=='e' || tolower(*(niza+n))=='i' || tolower(*(niza+n))=='o' || tolower(*(niza+n))=='u'){
- *(niza+n)='*';
- }
- return cenzuriraj(niza,n--);
- }
- }
- // od pocetok do kraj na nizata| i=0 pocetok
- int cenzuriraj(char *niza,int n,int i){
- if(i==n){
- return 0;
- }else{
- return cenzuriraj(niza,n,i+1);
- }
- }
- int main(){
- int n,i;
- scanf("%d",&n);
- char niza[n];
- for(i=0;i<n;i++){
- scanf("%c",&niza[i]);
- }
- cenzuriraj(niza,n);
- puts(niza);
- return 0;
- }
- // linii od code
- /*
- int main(){
- int n,i,j,brojac=0;
- scanf("%d",&n);
- int matrica[n][n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- // red po red
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- // da ne sme vo posledna ili predposledna kolona
- if(j<n-2){
- if(matrica[i][j]==1 && matrica[i][j+1] && matrica[i][j+2]){
- brojac++;
- break;
- }
- }
- }
- }
- // kolona po kolona
- for(j=0;j<n;j++){
- for(i=0;i<n;i++){
- // da ne sme vo posleden i predposleden red
- if(i<n-2){
- if(matrica[i][j]==1 && matrica[i+1][j] && matrica[i+2][j]){
- brojac++;
- break;
- }
- }
- }
- }
- printf("%d\n",brojac);
- return 0;
- }
- // fukncija za sovrshen broj X
- // glavna dijagonala i sporedna MAX sovrshen
- // site ostanati na MIN sovrshen, ako nema sovrshen broj site 0
- // razlika pomegju MAX i MIN
- /*
- int daliSovrshen(int x){
- int i,sumaDeliteli=0;
- for(i=x-1;i>0;i--){
- // barame delitel
- if(x%i==0){
- sumaDeliteli+=i;
- }
- }
- if(x==sumaDeliteli){
- return 1;
- }else{
- return 0;
- }
- }
- int main(){
- int n,i,j;
- scanf("%d",&n);
- int matrica[n][n];
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- int maxSovrshen=-9999999;
- int minSovrshen=9999999;
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- if(daliSovrshen(matrica[i][j])){
- if(matrica[i][j]>maxSovrshen){
- maxSovrshen=matrica[i][j];
- }
- if(matrica[i][j]<minSovrshen){
- minSovrshen=matrica[i][j];
- }
- }
- }
- }
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- // glavna ili sporedna dijagonala
- if(i==j || i+j==n-1){
- if(maxSovrshen==-9999999){
- maxSovrshen=0;
- }
- matrica[i][j]=maxSovrshen;
- }else{
- if(minSovrshen==9999999){
- minSovrshen=0;
- }
- matrica[i][j]=minSovrshen;
- }
- printf("%d ",matrica[i][j]);
- }
- printf("\n");
- }
- printf("%d %d %d\n",maxSovrshen,minSovrshen,maxSovrshen-minSovrshen);
- return 0;
- }
- // kolku zborovi pochnuvaat i zavrshuvaat na dadena bukva
- /*
- int main(){
- char bukva=getchar();
- bukva=tolower(bukva);
- FILE *f1=fopen("text.txt","r");
- FILE *f2=fopen("output.txt","w");
- int brojac=0;
- char zbor[20];
- // a
- // ilija bojan stefan jovana ana
- while(fscanf(f1,"%s",zbor)!=EOF){
- // prva bukva i posledna bukva proverki
- if(tolower(zbor[0])==bukva && tolower(zbor[strlen(zbor)-1])==bukva){
- brojac++;
- fputs(zbor,f2);
- fputc('\n',f2);
- }
- }
- printf("%d\n",brojac);
- fclose(f1);
- fclose(f2);
- return 0;
- }
- /*
- // deli broj bez rekurzija
- int deliBroj(int x){
- int promenliva=1;
- while(x>0){
- promenliva=promenliva*10;
- x=x/10;
- }
- return promenliva;
- }
- // deli broj so rekurzija
- int deliBrojR(int x){
- if(x==0){
- return 1;
- }else{
- return 10*deliBrojR(x/10);
- }
- }
- /*
- 1) deliBrojR(55) = 10*deliBrojR(5)
- 2) deliBrojR(5) = 10*deliBrojR(0)
- 3) deliBrojR(0) = 1
- 4) deliBrojR(5) = 10*1
- 5) deliBrojR(55) = 10*10
- */
- /*
- // bez povtoruvanje i bez rekurzija
- int bezPovtoruvanje(int prv,int vtor){
- int brojac=0;
- while(prv>0){
- if(prv%deliBroj(vtor)==vtor){
- brojac++;
- prv=prv/deliBroj(vtor);
- }else{
- prv=prv/10;
- }
- }
- return brojac;
- }
- // so povtoruvanje i bez rekurzija
- int soPovtoruvanje(int prv,int vtor){
- int brojac=0;
- while(prv>0){
- if(prv%deliBroj(vtor)==vtor){
- brojac++;
- prv=prv/10;
- }else{
- prv=prv/10;
- }
- }
- return brojac;
- }
- //15551 55 -> 2
- // so povtoruvanje so rekurzija
- int povtoruvanjeRekurzija(int prv,int vtor){
- if(prv==0){
- return 0;
- }else{
- if(prv%deliBroj(vtor)==vtor){
- return 1 + povtoruvanjeRekurzija(prv/10,vtor);
- }else{
- return povtoruvanjeRekurzija(prv/10,vtor);
- }
- }
- }
- // bez povtoruvanje so rekurzija
- int bezPovtoruvanjeRekurzija(int prv,int vtor){
- if(prv==0){
- return 0;
- }else{
- if(prv%deliBrojR(vtor)==vtor){
- return 1 + bezPovtoruvanjeRekurzija(prv/deliBrojR(vtor),vtor);
- }else{
- return bezPovtoruvanjeRekurzija(prv/10,vtor);
- }
- }
- }
- int main(){
- int prv,vtor,pom;
- scanf("%d%d",&prv,&vtor);
- if(vtor>prv){
- pom=prv;
- prv=vtor;
- vtor=pom;
- }
- printf("%d\n",bezPovtoruvanjeRekurzija(prv,vtor));
- return 0;
- }
- // premesti blok A od code
- /*
- int main(){
- int n,i,j;
- scanf("%d",&n);
- int matrica[n][2*n];
- for(i=0;i<n;i++){
- for(j=0;j<2*n;j++){
- scanf("%d",&matrica[i][j]);
- }
- }
- n x 2*n
- 00 01 02
- 10 11 12
- 20 21 22
- 30 31 32
- 40 41 42
- 50 51 52
- n=3
- ij = i-n n+j
- 30 = 03
- 31 = 04
- 32 = 05
- ij =
- 40 = 13
- 41 = 14
- 42 = 15
- ij =
- 50 = 23
- 51 = 24
- 52 = 25
- int novaMatrica[2*n][n];
- // prva polovina
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- novaMatrica[i][j]=matrica[i][j];
- }
- }
- // vtora polovina
- for(i=n;i<2*n;i++){
- for(j=0;j<n;j++){
- novaMatrica[i][j]=matrica[i-n][n+j];
- }
- }
- for(i=0;i<2*n;i++){
- for(j=0;j<n;j++){
- printf("%d ",novaMatrica[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment