Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #define _USE_MATH_DEFINES
- #include <math.h>
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <string.h>
- #include <ctype.h>
- #define task10
- void rus() {
- setlocale(LC_ALL, "Russian");
- }
- int minus(int a, int b) {
- int c = a - b;
- return c;
- }
- void print(int* a, int n) {
- for (int i = 0; i < n; i++)
- {
- printf("%d\t", a[i]);
- }
- }
- void print_f(float* a, int n) {
- for (int i = 0; i < n; i++)
- {
- printf("%d\t", a[i]);
- }
- }
- void random(int *a, int N, int d, int plus) {
- for (int i = 0; i < N; i++) {
- a[i] = rand()%d + plus;
- }
- }
- void random_f(float* a, int N, int d, int plus) {
- for (int i = 0; i < N; i++) {
- a[i] = rand() % d + plus;
- }
- }
- void swap(int a, int b) {
- int sw = a;
- a = b;
- b = sw;
- }
- void sort_vozrastanie(int* a, int start, int N) {
- for (int i = start; i < N; i++) {
- for (int j = start; j < N; j++) {
- if (a[j] > a[j + 1]) {
- swap(a[j], a[j + 1]);
- }
- }
- }
- }
- void sort_ybivanie(int* a, int start, int N) {
- for (int i = start; i < N; i++) {
- for (int j = start; j < N; j++) {
- if (a[j] < a[j + 1]) {
- swap(a[j], a[j + 1]);
- }
- }
- }
- }
- float cent_arifmetical(int* a, int N) {
- int arif = 0;
- for (int i = 0; i < N; i++)
- {
- arif += a[i];
- }
- arif = arif / N;
- return arif;
- }
- float max_in_array(float* a, int N) {
- float max = 0;
- for (int i = 0; i < N; i++)
- {
- if (a[i] > max) {
- max = a[i];
- }
- }
- return max;
- }
- int max_index_in_array(float* a, int N) {
- float max = 0, j = 0;
- for (int i = 0; i < N; i++)
- {
- if (a[i] > max) {
- max = a[i];
- j = i;
- }
- }
- return j;
- }
- #ifdef task1
- int main() {
- #define N 100
- rus();
- setlocale(LC_ALL, "Russian");
- int a[N] = { 0 }, b[N][N] = { 0 };
- puts("Сколько цифр будет в вашем массиве?");
- int n = 0, j = 0, k = 0, maxk = 0;
- scanf("%d", &n);
- puts("Вводите:");
- for (int i = 0; i < n; i++) {
- scanf("%d", &a[i]);
- }
- for (int i = 0; i < n-1; i++) {
- if (a[i] > a[i + 1]) {
- b[j][k++] = i+1;
- if (k > maxk) {
- maxk = k;
- }
- }
- else {
- b[j++][k] = i+1;
- k = 0;
- }
- }
- b[j][k++] = a[n-1];
- if (k> maxk){
- maxk = k;
- }
- for (int i = 0; i <= j; i++) {
- printf("%d -я увывающая:\t", i);
- for (int K = 0; K <= maxk; K++){
- printf("%d\t", b[i][K]);
- }
- puts("\n");
- }
- return 0;
- }
- #endif // task1 (-)
- #ifdef task3
- int main() {
- rus();
- srand(time(NULL));
- #define N 10
- int a[N] = { 0 };
- int b[N] = { 0 };
- for (int i = 0; i < N; i++) {
- a[i] = rand() % 20 - 10;
- printf("%d\t", a[i]);
- }
- int j = 0;
- for (int i = 0; i < N; i++) {
- if (a[i] <= 0) {
- b[j++] = a[i];
- }
- }
- puts("\n");
- for (int i = 0; i < N; i++) {
- if (a[i] > 0) {
- b[j++] = a[i];
- }
- }
- for (int i = 0; i < j; i++) {
- printf("%d\t", b[i]);
- }
- }
- #endif //task3
- #ifdef task4
- int main() {
- srand(time(NULL));
- #define N 10
- int a[N] = { 0 }, b[N] = { 0 };
- for (int i = 0; i < N; i++) {
- a[i] = rand() % 10 + 10 * (rand() % 10);
- printf("%d\t", a[i]);
- }
- puts("\n");
- for (int i = 0; i < N; i++) {
- int c = a[i]%10, d = a[i]/10;
- b[i] = minus(c, d);
- }
- print(b, N);
- return 0;
- }
- #endif // task4
- #ifdef task5
- int main() {
- #define N 15
- #define D 15
- rus();
- srand(time(NULL));
- int a[N] = { 0 }, b[N] = { 0 };
- random(a, N, 2*D, (-D));
- print(a, N);
- puts("\n");
- int j = 0;
- for (int i = 0; i < N; i++) {
- if (a[i] < 0) {
- b[j++] = a[i];
- }
- }
- int j_minus = j;
- for (int i = 0; i < N; i++) {
- if (a[i] == 0) {
- b[j++] = a[i];
- }
- }
- int j_zero = j - j_minus;
- for (int i = 0; i < N; i++) {
- if (a[i] > 0) {
- b[j++] = a[i];
- }
- }
- int j_plus = j - j_minus - j_zero;
- /*sort_vozrastanie(b, 0, j_minus);
- sort_ybivanie(b, j_zero + 1, j_plus);
- */
- int sw = 0;
- for (int i = 0; i < j_minus; i++) {
- for (int j1 = 0; j1 < j_minus-1; j1++) {
- if (b[j1] > b[j1 + 1]) {
- //swap(a[j1], a[j1 + 1]);
- sw = b[j1];
- b[j1] = b[j1 + 1];
- b[j1 + 1] = sw;
- }
- }
- }
- for (int i = N-j_plus; i < N; i++) {
- for (int j1 = N-j_minus+1; j1 < N-1; j1++) {
- if (b[j1] < b[j1 + 1]) {
- //swap(a[j1], a[j1 + 1]);
- sw = b[j1];
- b[j1] = b[j1 + 1];
- b[j1 + 1] = sw;
- }
- }
- }
- print(b, N);
- return 0;
- }
- #endif // task5
- #ifdef task6
- #define N 12
- int main() {
- rus();
- srand(time(NULL));
- int a[N] = { 0 }, b[N] = { 0 };
- random(a, N, 15, 1);
- random(b, N, 15, 1);
- print(a, N);
- puts("\n");
- print(b, N);
- puts("\n\n");
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < N; j++)
- {
- if (a[i] == b[j]) {
- a[i] = 0;
- }
- }
- }
- print(a, N);
- return 0;
- }
- #endif // task6
- #ifdef task8
- #define N 10
- int main() {
- int a[N] = { 0 };
- int sum = 0, sum2 = 0;
- random(a, N, 10, 1);
- print(a, N);
- puts("\n");
- for (int i = 0; i < N; i++)
- {
- if (i % 2 == 1) {
- sum += a[i];
- }
- else {
- sum2 += a[i];
- }
- }
- printf("%d", sum2 % sum);
- return 0;
- }
- #endif // task8
- #ifdef task9
- int main() {
- #define N 10
- int a[N] = { 0 };
- float s = 0;
- srand(time(NULL));
- random(a, N, 10, 1);
- print(a, N);
- int arif = cent_arifmetical(a, N);
- float q = 0;
- for (int i = 0; i < N; i++)
- {
- if (a[i] > arif) {
- q++;
- }
- }
- q = q * 100 / N;
- printf("%.2f", q);
- return 0;
- }
- #endif
- #ifdef task10
- int main() {
- #define N 10
- float a[N] = { 0 }, b[N] = { 0 };
- float max_a = 0, max_b = 0;
- int i_a = 0, i_b = 0;
- random_f(a, N, 10, 1);
- random_f(b, N, 10, 1);
- print_f(a, N);
- print_f(b, N);
- max_a = max_in_array(a, N);
- i_a = max_index_in_array(a, N);
- max_b = max_in_array(b, N);
- i_b = max_index_in_array(b, N);
- int swapp = a[i_a];
- a[i_a] = b[i_b];
- b[i_b] = swapp;
- print_f(a, N);
- print_f(b, N);
- return 0;
- }
- #endif // task10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement