Code

Code


Program 7

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

#include <math.h>

#define N 72

#define min 10

#define max 100

int fun (int num[]);

int fun1 (int num[]);

int fun2 (int num[]);

int main(){

  srand(time(0));

  int arr[N] = {0};

  for (int i = 0; i < N; i++){

    arr[i] = rand()%(max - min + 1) + min;

    printf("%d ", arr[i]);

  }

   

   

  printf("\nМинимальное кратное трем: %d\n", fun(arr));

  printf("Меньше первого: %d\n", fun1(arr));

  printf("Сумма цифр случайного числа: %d\n", fun2(arr));

  return 0;

}


int fun (int num[]){

   

  int minn = num[0]; // минимальное кратное 3

  for (int i = 1; i < N; i++){

    if (  (num[i] < minn) && ( ((int)num[i]/3) == ((double)num[i]/3) )  )

      minn = num[i];

  }

  return minn;

}


int fun1 (int num[]){

  int con1 = 0; //меньше первого

  for (int i = 0; i < N; i++)

  if (num[i] < num[0]) con1++;

  return con1;

}


int fun2 (int num[]){

  int a = rand()%(N - N/2 + 1) + N/2;

  int b = 0;

  while(num[a] > 0){

    b = b + num[a]%10;

    num[a] = (int)((num[a])/10);

  }

  return b;

}

##############

Program 6

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 10

#define N2 7

int main() {

  srand(time(0));

  int a[N][N2] = {0, 0};

  int min = -50, max = 50;

  printf("Массив:\n");

  for (int i = 0; i < N; i++) {

    for (int j = 0; j < N2; j++) {

      a[i][j] = rand()%(max - min + 1) + min;

      printf("%d\t", a[i][j]);

    }

    printf("\n");

  }

   

  char myfile[] = "array.txt";

  FILE *f = fopen(myfile, "w");

  if ((f = fopen(myfile, "w")) != 0) {

    printf("Работа с файлом\n");

    for (int i = 0; i < N; i++) {

      for (int j = 0; j < N2; j++) {

        fprintf(f, "%d\t", a[i][j]);

      }

      fprintf(f, "\n");

    }

    printf("Массив записан в файл\n\n");

  }

  else

    printf("Ошибка\n");

  fclose(f);

   

  int new_array[N][N2] = {0, 0};

  int num = 0, sum = 0, max1 = 0;

  FILE *file = fopen(myfile, "r");

  fscanf(file, "%d", &max1);

  for (int i = 0; i < N; i++) {

    for (int j = 0; j < N2; j++) {

      fscanf(file, "%d", &new_array[i][j]);

      if (new_array[i][j] < 0){

        num++;

      }

      if ((j == N2)&&(new_array[i][j] > 0)&&(new_array[i][j]%2 == 0))

        sum = sum + new_array[i][j];

      if ((new_array[i][j] > max1) &&(new_array[i][j]%2 != 0))

        max1 = new_array[i][j];

    }

  }

  fclose(file);

   

   

  printf("Отрицательные: %d\n", num);

  printf("sum полож чет: %d\n", sum);

  printf("max нечет: %d\n", max1);

  return 0;

}

##############

Program 8

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 4

#define min -8

#define max 12

double arr_fun (double [N][N], double, int);

double arr_fun1 (double [N][N]);

double arr_fun2 (double [N][N]);

int main() {

  srand(time(0));

  double arr[N][N] = {0, 0}, sum = 0, average = 0;

  int num = 0;

  for (int i = 0; i < N; i++){

    for (int j = 0; j < N; j++){

      arr[i][j] = (double)(rand())/RAND_MAX*(max - min + 1) + min;

      printf("%lf\t", arr[i][j]);

      sum = sum + arr[i][j];

    }

    printf("\n");

  }

  average = sum/(N*N);

  printf("Выше среднего:\t%lf\nСреднее:\t%lf\n", arr_fun (arr, average, num), average);

  printf("Сумма отриц: %lf\n", arr_fun1 (arr));

  printf("Минимальный выше побочной d: %lf\n\n", arr_fun2 (arr));

  return 0;

}


double arr_fun (double arr[N][N], double average, int num){ // выше среднего

  for (int i = 0; i < N; i++){

    for (int j = 0; j < N; j++){

      if (arr[i][j] > average)

        num = num + 1; // сколько элементов массива превышают среднее значение

    }

  }

  return num;

}


double arr_fun1 (double arr[N][N]){ // сумма отрицательных

  double sumneg = 0;

  for (int i = 0; i < N; i++){

    for (int j = 0; j < N; j++){

      if (arr[i][j] < 0)

        sumneg = sumneg + arr[i][j];

    }

  }

  return sumneg;

}


double arr_fun2 (double arr[N][N]){ // минимальное выше побочной диагонали

  double min_d = arr[0][0];

  for (int i = 0; i < N; i++){

    for (int j = 0; j < N; j++){

      if ( ((i + j) < (N-1)) && (arr[i][j] < min_d) )

        min_d = arr[i][j];

    }

  }

  return (double)min_d;

}


Report Page