Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Ребреста низа
- Една еднодимензионална низа се нарекува ребреста, ако секој елемент кој има претходник и следбеник е или строго поголем од двата (и од преходникот и од следбеникот) или е строго помал од двата. За внесена еднодимензионална низа, со должина n(2<n<100) да се утврди дали таа е ребреста или не е.
- Sample input:
- 7
- 1 9 4 11 -3 22 5
- Sample output:
- DA
- --------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n[100];
- int lenght;
- scanf ("%d",&lenght);
- int i;
- for ( i=0;i<lenght;i++)
- {
- int k;
- scanf ("%d",&k);
- n[i]=k;
- }
- int kraj=1;
- for (i=1;i<lenght-1;i++)
- {
- if ((n[i]>=n[i-1]&&n[i]<=n[i+1]) || (n[i]<=n[i-1] && n[i]>=n[i+1]))
- {
- kraj=0;
- break;
- }
- }
- if (kraj)
- {
- printf ("YES");
- }else
- {
- printf ("NO");
- }
- }
- --------------------------------------------------
- 2. Циклично поместување
- Да се напише програма која извршува циклично поместување на елементите на дадена низа А од N (N < 100) цели броеви, за K-места во лево и во десно. Броевите од низата, нивниот број N и бројот на поместувања се читаат од СВ. Забелешка: Ако бројот K е позитивен поместувањето се извршува во десно, а ако е негативен во лево.
- Sample input:
- 10
- 0 1 2 3 4 5 6 7 8 9
- 7
- Sample output:
- 3 4 5 6 7 8 9 0 1 2
- --------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n[100];
- int lenght;
- scanf ("%d",&lenght);
- int i;
- for ( i=0;i<lenght;i++)
- {
- int k;
- scanf ("%d",&k);
- n[i]=k;
- }
- int cycle;
- scanf ("%d",&cycle);
- for (i=0;i<lenght;i++)
- {
- if (cycle>0)
- {
- int k=i;
- int l=0;
- int c=i+cycle;
- int pp=0;
- while(c%lenght==0&&l<lenght)
- {
- pp=1;
- int r=n[k];
- printf ("%d ",r);
- l++;
- k++;
- if (k>=lenght)
- {
- k=0;
- }
- }
- if (pp)break;
- }else if (cycle<0)
- {
- int k=i;
- int l=0;
- int c=i+cycle;
- c*=-1;
- int pp=0;
- while(c%lenght==0 && l<lenght)
- {
- int r=n[k];
- printf ("%d ",r);
- l++;
- k++;
- if (k>=lenght)
- {
- k=0;
- }
- pp=1;
- }
- if (pp)break;
- }else
- {
- int k;
- for (k=0;k<lenght;k++)
- {
- int r=n[k];
- printf ("%d ",r);
- }
- break;
- }
- }
- return 0;
- }
- --------------------------------------------------
- 3. Генерирање низа
- Да се напише програма која од два дадени реални броеви генерира низа од N (N < 100) реални броеви. Првите елементи на низата се двата дадени броеви, а останатите елементи од низата се добиваат како половина од збирот на сите претходни елементи од низата. Бројот на елементи од низата и двата почетни елементи се читаат од СВ.
- Sample input:
- 10
- 1 2
- Sample output:
- 1.00 2.00 1.50 2.25 3.38 5.06 7.59 11.39 17.09 25.63
- --------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- float n[100];
- int lenght;
- scanf ("%d",&lenght);
- float num1,num2;
- scanf ("%f%f",&num1,&num2);
- int i;
- n[0]=num1;
- n[1]=num2;
- printf ("%.2f ",num1);
- printf ("%.2f ",num2);
- float sum=num1+num2;
- for (i=2;i<lenght;i++)
- {
- float k;
- k=sum/2;
- n[i]=sum/2;
- sum+=n[i];
- printf ("%.2f ",k);
- }
- }
- --------------------------------------------------
- 4. Квадрат на матрица
- За дадена квадратна матрица со димензија n (зададена на стандарден влез) да се креира матрица која е квадрат на дадената матрица (А*А). Истата да се отпечати на стандарден излез.
- Sample input:
- 3
- 1 2 3
- 4 5 6
- 7 8 9
- Sample output:
- 30 36 42
- 66 81 96
- 102 126 150
- --------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i,j;
- int k;
- int matrica[100][100];
- int lenght;
- scanf ("%d",&lenght);
- for (i=0;i<lenght;i++)
- {
- for (j=0;j<lenght;j++)
- {
- int r;
- scanf ("%d",&r);
- matrica[i][j]=r;
- }
- }
- for (i=0;i<lenght;i++)
- {
- for (j=0;j<lenght;j++)
- {
- int sum=0;
- for (k=0;k<lenght;k++)
- sum+=matrica[i][k]*matrica[k][j];
- printf ("%d ",sum);
- }
- printf ("\n");
- }
- return 0;
- }
- --------------------------------------------------
- 5. Рамка+
- Со помош на знаците ‘+’ и ‘-‘ да се генерира матрица од знаци со димензии m и n (2<m,n<20) која претставува правоаголник од знаците -, впишан во правоаголник од знаците + (види примери). За внесени m и n да се испечати на екран генерираната матрица (без празни места помеѓу елементите).
- Sample input:
- 5 6
- Sample output:
- ++++++
- +----+
- +----+
- +----+
- ++++++
- --------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int m,n;
- scanf ("%d%d",&n,&m);
- int i,j;
- for (i=0;i<n;i++)
- {
- for (j=0;j<m;j++)
- {
- if (i==0 || i==n-1)
- {
- printf ("+");
- continue;
- }
- if (j==0 || j==m-1)
- {
- printf ("+");
- continue;
- }
- printf ("-");
- }
- printf ("\n");
- }
- }
- --------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment