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>
- 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("%f\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 swap_f(float* a, float* b) {
- float 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]) {
- int* pa = &a[j], * pb = &a[j + 1];
- swap(pa, pb);
- }
- }
- }
- }
- 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]) {
- int* pa = &a[j], * pb = &a[j + 1];
- swap(pa, pb);
- }
- }
- }
- }
- 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 = -1111111111;
- 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;
- }
- float count_of_elements_who_more_then_q0_float(int* a, int N, int q0) {
- float q = 0;
- for (int i = 0; i < N; i++)
- {
- if (a[i] > q0) {
- q++;
- }
- }
- return q;
- }
- int sum_chet(int *a, int N) {
- int sum = 0;
- for (int i = 0; i < N; i++)
- {
- if (i % 2 == 0) {
- sum += a[i];
- }
- }
- return sum;
- }
- int sum_nechet(int *a, int N) {
- int sum = 0;
- for (int i = 0; i < N; i++)
- {
- if (i % 2 == 1) {
- sum += a[i];
- }
- }
- return sum;
- }
- void sign(int* a, int* b, int N) {
- int j = 0;
- for (int i = 0; i < N; i++) {
- if (a[i] < 0) {
- b[j++] = a[i];
- }
- }
- for (int i = 0; i < N; i++) {
- if (a[i] == 0) {
- b[j++] = a[i];
- }
- }
- for (int i = 0; i < N; i++) {
- if (a[i] > 0) {
- b[j++] = a[i];
- }
- }
- }
- void for_task3(int* a, int* b, int N) {
- for (int i = 0; i < N; i++) {
- int c = a[i] % 10, d = a[i] / 10;
- b[i] = minus(c, d);
- }
- }
- int weniger(int* a, int i) {
- int c = 0;
- if (a[i] < a[i+1]) {
- c = 1;
- }
- return c;
- }
- int sortirovka(int* a, int *b, int *c, int N, int M) {
- for (int i = 0; i < N; i++){
- for (int j = 0; j < M; j++){
- if (weniger(a, i)) {
- }
- else {
- *c++;
- }
- }
- }
- }
- #define task1
- #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, *c = &k;
- 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 };
- random(a, N, 20, -10);
- print(a, N);
- puts("\n");
- sign(a, b, N);
- print(b, N);
- }
- #endif //task3
- #ifdef task4
- int main() {
- srand(time(NULL));
- #define N 10
- int a[N] = { 0 }, b[N] = { 0 };
- random(a, N, 99, 1);
- print(a, N);
- puts("\n");
- for_task3(a, b, N);
- 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 };
- random(a, N, 10, 1);
- print(a, N);
- puts("\n");
- int sum = sum_chet(a, N), sum2 =sum_nechet(a, N);
- 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 = count_of_elements_who_more_then_q0_float(a, N, arif);
- q = q * 100 / N;
- printf("%.2f", q);
- return 0;
- }
- #endif
- #ifdef task10
- int main() {
- #define N 10
- srand(time(NULL));
- float a[N] = { 0 }, b[N] = { 0 };
- random_f(a, N, 10, 1);
- random_f(b, N, 10, 1);
- print_f(a, N);
- puts("\n");
- print_f(b, N);
- puts("\n\n");
- float max_a = max_in_array(a, N);
- int i_a = max_index_in_array(a, N);
- float max_b = max_in_array(b, N);
- int i_b = max_index_in_array(b, N);
- float* pa = &a[i_a], * pb = &b[i_b];
- swap_f(pa, pb);
- printf("max elements: %f\t%f", *pa, *pb);
- puts("\n");
- print_f(a, N);
- puts("\n");
- print_f(b, N);
- return 0;
- }
- #endif // task10
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement