Задать вопрос
  • Как вывести массив M[10]?

    @Peter1211 Автор вопроса
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <time.h>
    
    
    void vvodA(int* A, int* C)//под б
    {
    for (int i = 0; i <= 4; i++)
    {
    A[i] = 10 + rand() % 90;
    C[i] = A[i];
    }
    }
    
    void vvodB(int* B, int* C)
    
    {
    for (int i = 5; i <= 10; i++)
    {
    B[i - 5] = 10 + rand() % 90;
    C[i] = B[i - 5];
    }
    }
    void sort_A(int* A)//A
    {
    for (int i = 4, j = 0; i >= 0; j--)
    {
    int end = 1, min = 0;
    for (j = 0; j < i; j++)
    {
    if (A[j] > A[j + 1])
    {
    min = A[j];
    A[j] = A[j + 1];
    A[j + 1] = min;
    end = 0;
    }
    }
    if (end == 1)
    break;
    }
    }
    void sort_B(int* B)//B
    {
    for (int i = 5, j = 0; i >= 0; j--)
    {
    int end = 1, min = 0;
    for (j = 0; j < i; j++)
    {
    if (B[j] > B[j + 1])
    {
    min = B[j];
    B[j] = B[j + 1];
    B[j + 1] = min;
    end = 0;
    }
    }
    if (end == 1)
    break;
    }
    }
    
    void sort(int* C)//C
    {
    for (int i = 10, j = 0; i >= 0; j--)
    {
    int end = 1, min = 0;
    for (j = 0; j < i; j++)
    {
    if (C[j] > C[j + 1])
    {
    min = C[j];
    C[j] = C[j + 1];
    C[j + 1] = min;
    end = 0;
    }
    }
    if (end == 1)
    break;
    }
    }
    void print_A(int* A)
    {
    for (int i = 0; i <= 4; i++)
    {
    printf("Элемент массива A %d: %d \n", i + 1, A[i]);
    }
    }
    void print_B(int* B)
    {
    for (int i = 0; i <= 5; i++)
    {
    printf("Элемент массива B %d: %d \n", i + 1, B[i]);
    }
    }
    void print(int* C)
    {
    for (int i = 0; i <= 10; i++)
    {
    printf("Элемент массива C %d: %d \n", i + 1, C[i]);
    }
    }
    
    int a(int* M, int* f)//a
    {
    	int s = 0;
    	for (int i = 0; i <= 10; i++)
    	{
    		*f = 10 + rand() % 90;
    		printf("Элемент массива M %d: %d \n", i + 1, *f);
    
    		s = s + *f;
    	
    	}
    	return s / 10;
    }
    int main()
    {
    setlocale(LC_ALL, "");
    int A[5], B[6], C[11];//под б
    srand(time(NULL));
    vvodA(A, C);
    vvodB(B, C);
    sort_A(A);
    sort_B(B);
    sort(C);
    print_A(A);
    print_B(B);
    print(C);
    int M[10];//под а
    int* f = M;
    printf("Среднеарефметическое:%d", a(f,M));
    return 0;
    }
    Ответ написан
    Комментировать
  • Как переделать чтобы: ввод исходных массивов; вывод исходных массивов; обработку массивов;в вывод результата были через функции?

    @Peter1211 Автор вопроса
    #define _CRT_SECURE_NO_WARNINGS
    #include
    #include
    #include
    #include

    void vvodA(int* A, int* C)
    {
    for (int i = 0; i <= 4; i++)
    {
    A[i] = 10+ rand() % 90;
    C[i] = A[i];
    }
    }

    void vvodB(int* B, int* C)
    {
    for (int i = 5; i <= 10; i++)
    {
    B[i - 5] = 10+ rand() % 90;
    C[i] = B[i - 5];
    }
    }

    void sort(int* C)
    {
    for (int i = 10, j = 0; i >= 0; j--)
    {
    int end = 1, min = 0;
    for (j = 0; j < i; j++)
    {
    if (C[j] > C[j + 1])
    {
    min = C[j];
    C[j] = C[j + 1];
    C[j + 1] = min;
    end = 0;
    }
    }
    if (end == 1)
    break;
    }
    }
    void print(int* C)
    {
    for (int i = 0; i <= 10; i++)
    {
    printf("Элемент массива %d: %d \n", i + 1, C[i]);
    }
    }

    int main()
    {
    setlocale(LC_ALL, "");
    int A[5], B[6], C[11];
    srand(time(NULL));
    vvodA(A, C);
    vvodB(B, C);
    sort(C);
    print(C);
    }
    Ответ написан
    Комментировать