Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Збир на подниза
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 100
- int sumPos(int *a, int index);
- int main(){
- int a[MAX];
- int n;
- int i;
- scanf("%d", &n);
- for (i=0; i<n; i++){
- scanf("%d", &a[i]);
- }
- int index;
- scanf("%d", &index);
- if (index > n)
- index = n;
- printf("%d", sumPos(a, index));
- return 0;
- }
- int sumPos(int *a, int index){
- int sum = 0;
- int i;
- for(i=0; i<index; i++)
- sum+= *(a+i);
- return sum;
- }
- 2. Замена
- #include <stdio.h>
- #define MAX 100
- // вашите функции овде
- int coprime(int a, int b);
- int gcd(int a , int b);
- void swap(int *a, int *b);
- int main() {
- int a[MAX];
- int n;
- scanf("%d", &n);
- int i;
- for(i = 0; i < n; i++) {
- scanf("%d", &a[i]);
- }
- // вашиот код почнува овде
- for(i = 0; i < n-1; i++) {
- if (coprime(a[i], a[i+1]) == 1){
- swap(&a[i], &a[i+1]);
- i++;
- }
- }
- // завршува овде
- for(i = 0; i < n; i++) {
- printf("%d ", a[i]);
- }
- return 0;
- }
- void swap(int *a, int *b){
- int t;
- t = *b;
- *b = *a;
- *a = t;
- }
- int coprime(int a, int b){
- int c;
- while(a != 0){
- c = a;
- a = b%a;
- b = c;
- }
- return b;
- }
- 3. Сортирање
- #include <stdio.h>
- #define MAX 400
- void sort(int *a, int n) {
- int i, j, tmp;
- for(i=0;i<n;i++)
- {
- for(j=i+1;j<n;j++)
- {
- if( *(a+i) > *(a+j))
- {
- tmp = *(a+i);
- *(a+i) = *(a+j);
- *(a+j) = tmp;
- }
- }
- }
- }
- void merge(int *a, int *b, int *c, int n) {
- int i = 0, j = 0, k = 0;
- while (i<n&&j<n)
- {
- if (a[i] < b[j])
- c[k++] = a[i++];
- else
- c[k++] = b[j++];
- }
- while (i < n)
- c[k++] = a[i++];
- while (j < n)
- c[k++] = b[j++];
- }
- int main() {
- int n;
- int a[MAX];
- int b[MAX];
- int c[MAX];
- scanf("%d", &n);
- int i;
- for(i = 0; i < n; ++i) {
- scanf("%d", &a[i]);
- }
- for(i = 0; i < n; ++i) {
- scanf("%d", &b[i]);
- }
- sort(a, n);
- sort(b, n);
- merge(a, b, c, n);
- for(i = 0; i < 2 * n; ++i) {
- printf("%d ", c[i]);
- }
- return 0;
- }
- 4. Напредно сортирање
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void my_sort(int* xArray, int xSize)
- {
- int lPivot = xArray[xSize-1];
- int lIndexOfLargestElement = 0;
- for (int i = 0; i < xSize-1; i++)
- {
- if (xArray[i] < lPivot)
- {
- // Swap largest element with this
- int lTmp = xArray[i];
- xArray[i] = xArray[lIndexOfLargestElement];
- xArray[lIndexOfLargestElement] = lTmp;
- lIndexOfLargestElement++;
- }
- }
- // swap pivot with xArray[lIndexOfLargestElement]
- int lTmp = xArray[lIndexOfLargestElement];
- xArray[lIndexOfLargestElement] = xArray[xSize-1];
- xArray[xSize-1] = lTmp;
- if (lIndexOfLargestElement > 1)
- my_sort(xArray, lIndexOfLargestElement);
- if (xSize-lIndexOfLargestElement-1 > 1)
- my_sort(xArray+lIndexOfLargestElement+1, xSize-lIndexOfLargestElement-1);
- }
- // не ја менувајте главната функција
- int main() {
- int n, i;
- scanf("%d", &n);
- int *a = malloc(sizeof(int) * n);
- srand(time(NULL));
- for(i = 0; i < n; ++i) {
- a[i] = rand() % 10000;
- }
- my_sort(a, n);
- int sorted = 1;
- for(i = 0; i < n - 1; ++i) {
- if(a[i] > a[i + 1]) {
- sorted = 0;
- break;
- }
- }
- if(!sorted) {
- printf("NOT SORTED");
- } else {
- printf("SORTED");
- }
- free(a);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement