Задан массив А из k целых чисел. Найти минимальный среди отрицательных элементов (min) и сформировать массив B умножением элементов массива A на (10+min).
Для каждого варианта реализовать два способа задания массивов:
ввод значений с клавиатуры и заполнение случайными числами. Для каждого
способа реализовать вывод получившегося массива на экран в виде функции.
Память для массива выделяется динамически.
Примечание. При защите лабораторной работы уметь выделять
память функциями malloc и calloc.
C/C++
Написать программу на языке С.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
//функция вывода значений массива:
void out(int *arr, int k)
{
for(int i = 0; i < k; i++)
{
printf("\n");
printf("[%d]=%2d ",i+1,arr[i]);
}
return 0;
}
//функция ввода значений массива:
void in(int *arr, int k)
{
printf("\nInput your array:\n");
for(int i = 0; i < k; i++)
{
printf("[%d]=",i+1);
scanf("%d",&arr[i]);
}
return 0;
}
//функция генерации значений массива:
void gen(int *arr, int k)
{
srand(time(NULL));
for(int i = 0; i < k; i++)
{
if(rand()%2 == 0)
arr[i]=(-1)*(rand()%10);
else arr[i]=rand()%10;
}
return 0;
}
//функция поиска минимального значения:
int minfind(int *arr, int k)
{
int min=0;
for(int i = 0; i < k; i++)
if(arr[i]<0 && arr[i]<min)
min=arr[i];
return min;
}
//функция создания массива B:
void mult(int *a, int *b, int k, int min)
{
for(int i = 0; i < k; i++)
b[i]=a[i]*(10+min);
return 0;
}
int main()
{
int *A,*B,k=0;
int s=0, min=0;
printf("Enter count of array: k=");
scanf("%d",&k);
A=(int*)malloc(k*sizeof(int));
B=(int*)malloc(k*sizeof(int));
if(!A || !B)
{
printf("\nError. Array no created.");
exit(1);
};
printf("\nVariant of array making:");
printf("\n1 - generation, 2 - hands inputing: ");
scanf("%d", &s);
switch (s)
{
case 2: in(A,k);break;
case 1: gen(A,k); break;
default: exit(0);
};
printf("\nArray A:");
out(A,k);
min=minfind(A,k);
if(min==0)
{
printf("\n\n\t min!<0 ");
exit(0);
}
mult(A,B,k,min);//формируем массив B
printf("\nArray B:");
out(B,k);
fflush(stdout);//сброс буфера для паузы
sleep(10);//пауза
return 0;
}

#include<stdlib.h>
#include<time.h>
#include<unistd.h>
//функция вывода значений массива:
void out(int *arr, int k)
{
for(int i = 0; i < k; i++)
{
printf("\n");
printf("[%d]=%2d ",i+1,arr[i]);
}
return 0;
}
//функция ввода значений массива:
void in(int *arr, int k)
{
printf("\nInput your array:\n");
for(int i = 0; i < k; i++)
{
printf("[%d]=",i+1);
scanf("%d",&arr[i]);
}
return 0;
}
//функция генерации значений массива:
void gen(int *arr, int k)
{
srand(time(NULL));
for(int i = 0; i < k; i++)
{
if(rand()%2 == 0)
arr[i]=(-1)*(rand()%10);
else arr[i]=rand()%10;
}
return 0;
}
//функция поиска минимального значения:
int minfind(int *arr, int k)
{
int min=0;
for(int i = 0; i < k; i++)
if(arr[i]<0 && arr[i]<min)
min=arr[i];
return min;
}
//функция создания массива B:
void mult(int *a, int *b, int k, int min)
{
for(int i = 0; i < k; i++)
b[i]=a[i]*(10+min);
return 0;
}
int main()
{
int *A,*B,k=0;
int s=0, min=0;
printf("Enter count of array: k=");
scanf("%d",&k);
A=(int*)malloc(k*sizeof(int));
B=(int*)malloc(k*sizeof(int));
if(!A || !B)
{
printf("\nError. Array no created.");
exit(1);
};
printf("\nVariant of array making:");
printf("\n1 - generation, 2 - hands inputing: ");
scanf("%d", &s);
switch (s)
{
case 2: in(A,k);break;
case 1: gen(A,k); break;
default: exit(0);
};
printf("\nArray A:");
out(A,k);
min=minfind(A,k);
if(min==0)
{
printf("\n\n\t min!<0 ");
exit(0);
}
mult(A,B,k,min);//формируем массив B
printf("\nArray B:");
out(B,k);
fflush(stdout);//сброс буфера для паузы
sleep(10);//пауза
return 0;
}

Похожие вопросы
- Написать программу на языке Си
- Написать программу на языке С(просто С).
- Написать программу на языке Си, которая решит эту задачу:
- Написать программу на языке С(С++).
- Напишите программу на языке паскаль
- Написать программу на языке программирования Си.
- Написать Программу на языке C++.
- Нужно написать программу на языке C++
- Помогите, пожалуйста, написать программу на языке Си.
- Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области. Написать программу на языке C++