Загрузка данных
#include <stdio.h>
#define SIZE 10
int input(int *a, int n);
void output(int *a, int n);
void sort(int *a, int n);
void swap(int *a, int *b);
int main(void) {
int data[SIZE];
if (input(data, SIZE)) {
sort(data, SIZE);
output(data, SIZE);
} else {
printf("n/a");
}
return 0;
}
int input(int *a, int n) {
int result = 1;
for (int *p = a; result && p - a < n; p++) {
if (scanf("%d", p) != 1) {
result = 0;
}
}
return result;
}
void output(int *a, int n) {
for (int *p = a; p - a < n; p++) {
if (p != a) {
printf(" ");
}
printf("%d", *p);
}
}
void sort(int *a, int n) {
for (int i = 0; i < n - 1; i++) {
for (int *p = a; p - a < n - i - 1; p++) {
if (*p > *(p + 1)) {
swap(p, p + 1);
}
}
}
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
#include <stdio.h>
#define NMAX 10
int input(int *a, int *n);
int sum_even(int *a, int n);
int create_result_array(int *a, int n, int sum, int *result);
void output(int sum, int *a, int n);
int main(void) {
int n;
int data[NMAX];
int result[NMAX];
int sum;
int result_n;
if (input(data, &n)) {
sum = sum_even(data, n);
if (sum == 0) {
printf("n/a");
} else {
result_n = create_result_array(data, n, sum, result);
output(sum, result, result_n);
}
} else {
printf("n/a");
}
return 0;
}
int input(int *a, int *n) {
int result = 1;
if (scanf("%d", n) != 1 || *n <= 0 || *n > NMAX) {
result = 0;
}
for (int *p = a; result && p - a < *n; p++) {
if (scanf("%d", p) != 1) {
result = 0;
}
}
return result;
}
int sum_even(int *a, int n) {
int sum = 0;
for (int *p = a; p - a < n; p++) {
if (*p != 0 && *p % 2 == 0) {
sum += *p;
}
}
return sum;
}
int create_result_array(int *a, int n, int sum, int *result) {
int count = 0;
for (int *p = a; p - a < n; p++) {
if (*p != 0 && sum % *p == 0) {
*(result + count) = *p;
count++;
}
}
return count;
}
void output(int sum, int *a, int n) {
printf("%d\n", sum);
for (int *p = a; p - a < n; p++) {
if (p != a) {
printf(" ");
}
printf("%d", *p);
}
}
#include <stdio.h>
#define NMAX 10
int input(int *a, int *n, int *shift);
void output(int *a, int n);
void cycle_shift(int *a, int n, int shift);
void shift_left_once(int *a, int n);
int main(void) {
int n;
int shift;
int data[NMAX];
if (input(data, &n, &shift)) {
cycle_shift(data, n, shift);
output(data, n);
} else {
printf("n/a");
}
return 0;
}
int input(int *a, int *n, int *shift) {
int result = 1;
if (scanf("%d", n) != 1 || *n <= 0 || *n > NMAX) {
result = 0;
}
for (int *p = a; result && p - a < *n; p++) {
if (scanf("%d", p) != 1) {
result = 0;
}
}
if (result && scanf("%d", shift) != 1) {
result = 0;
}
return result;
}
void output(int *a, int n) {
for (int *p = a; p - a < n; p++) {
if (p != a) {
printf(" ");
}
printf("%d", *p);
}
}
void cycle_shift(int *a, int n, int shift) {
int real_shift = shift % n;
if (real_shift < 0) {
real_shift += n;
}
for (int i = 0; i < real_shift; i++) {
shift_left_once(a, n);
}
}
void shift_left_once(int *a, int n) {
int first = *a;
for (int *p = a; p - a < n - 1; p++) {
*p = *(p + 1);
}
*(a + n - 1) = first;
}