Код полностью рабочий, но надо сделать так что бы размерность массива вводилась с клавиатуры . А не заранее сделанная в самой проге . Заранее спасибо
Код :
#include
#define SIZE 5
typedef struct result
{
int min;
int count;
} result;
result func(int *arr, int size)
{
result res;
res.count=0;
res.min=*arr++;
for(int i=1;i<size;i++)
{
if(*arr<res.min) res.min=*arr;
arr++;
}
arr-=size;
for(int i=0;i<size;i++)
{
if(*arr<res.min*res.min)
res.count++;
arr++;
}
arr-=size;
return res;
}
int main()
{
int array[SIZE]= { 3,7,15,9,10 } ;
result res=func(array,SIZE);
printf("Min = %d, Count = %d",res.min,res.count);
return 0;
}
C/C++
Помогите с кодом с++
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct result {
int min;
size_t count;
} Result;
Result fn(int* box, size_t size) {
Result res;
res.min = *box;
res.count = 0;
int square = 0;
for (size_t i = 0U; i < size; ++i) {
if (res.min > box[i]) {
res.min = box[i];
}
}
square = res.min * res.min;
for (size_t i = 1U; i < size; ++i) {
if (box[i] < square) {
++res.count;
}
}
return res;
}
int main(void) {
size_t size = 0;
int* box = NULL;
size_t i = 0;
Result res;
printf("Size: ");
scanf("%u", &size);
box = (int*)malloc(size * sizeof(int));
srand((unsigned)time(NULL));
do box[i] = 2 + rand() % 18; while (++i < size);
for (i = 0; i < size; ++i) printf("%i ", box[i]);
res = fn(box, size);
printf("\nMin: %i\nCount: %u\n", res.min, res.count);
free(box);
system("pause > nul");
return 0;
}
#include <stdlib.h>
#include <time.h>
typedef struct result {
int min;
size_t count;
} Result;
Result fn(int* box, size_t size) {
Result res;
res.min = *box;
res.count = 0;
int square = 0;
for (size_t i = 0U; i < size; ++i) {
if (res.min > box[i]) {
res.min = box[i];
}
}
square = res.min * res.min;
for (size_t i = 1U; i < size; ++i) {
if (box[i] < square) {
++res.count;
}
}
return res;
}
int main(void) {
size_t size = 0;
int* box = NULL;
size_t i = 0;
Result res;
printf("Size: ");
scanf("%u", &size);
box = (int*)malloc(size * sizeof(int));
srand((unsigned)time(NULL));
do box[i] = 2 + rand() % 18; while (++i < size);
for (i = 0; i < size; ++i) printf("%i ", box[i]);
res = fn(box, size);
printf("\nMin: %i\nCount: %u\n", res.min, res.count);
free(box);
system("pause > nul");
return 0;
}
Заменить
int array[SIZE]= { 3,7,15,9,10 } ;
на
int SIZE; scanf("%d",&SIZE);
int *array=malloc(SIZE*sizeof(int));
PS: Учти, что заполнен массив будет чем попало
PPS: Код на "С", на С++ printf, который в изначальном коде присутствует не используется
int array[SIZE]= { 3,7,15,9,10 } ;
на
int SIZE; scanf("%d",&SIZE);
int *array=malloc(SIZE*sizeof(int));
PS: Учти, что заполнен массив будет чем попало
PPS: Код на "С", на С++ printf, который в изначальном коде присутствует не используется
Данияр Абильдаев
Просьба была чтобы размерностью массива вводилась самим пользователем )
А с кодом C-- не помочь?
P. S. В C++ вообще надо vector использовать, а это наверно C-- какой-нибудь.
P. S. В C++ вообще надо vector использовать, а это наверно C-- какой-нибудь.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef struct result
{
int min;
int count;
} result;
result func(int *arr, int size)
{
result res;
res.count=0;
res.min=*arr++;
for(int i=1; i < size; i++)
{
if(*arr < res.min)
res.min=*arr;
arr++;
}
arr-=size;
for(int i=0;i < size; i++)
{
if(*arr<res.min*res.min)
res.count++;
arr++;
}
arr-=size;
return res;
}
int main()
{
int SIZE,*array;
printf("Enter size of array: ");
scanf("%d",&SIZE);
array=(int*)malloc(SIZE*sizeof(int));
if(array)
{//if array
srand(time(NULL));
printf("\nArray of %d elements:\n",SIZE);
for(int i = 0; i < SIZE; i++)
{
*array=rand()%10+3;
printf("%d ",*array);
array++;
};
array-=SIZE;
result res=func(array,SIZE);
printf("\nMin = %d, Count = %d",res.min,res.count);
free(array);
}
else
printf("\nError. Array not created.");
return 0;
}

#include<stdlib.h>
#include<time.h>
typedef struct result
{
int min;
int count;
} result;
result func(int *arr, int size)
{
result res;
res.count=0;
res.min=*arr++;
for(int i=1; i < size; i++)
{
if(*arr < res.min)
res.min=*arr;
arr++;
}
arr-=size;
for(int i=0;i < size; i++)
{
if(*arr<res.min*res.min)
res.count++;
arr++;
}
arr-=size;
return res;
}
int main()
{
int SIZE,*array;
printf("Enter size of array: ");
scanf("%d",&SIZE);
array=(int*)malloc(SIZE*sizeof(int));
if(array)
{//if array
srand(time(NULL));
printf("\nArray of %d elements:\n",SIZE);
for(int i = 0; i < SIZE; i++)
{
*array=rand()%10+3;
printf("%d ",*array);
array++;
};
array-=SIZE;
result res=func(array,SIZE);
printf("\nMin = %d, Count = %d",res.min,res.count);
free(array);
}
else
printf("\nError. Array not created.");
return 0;
}

на C++ выглядит так: https://onlinegdb.com/rk9bggLw_
#include < iostream >
struct result
{
int min;
int count = 0;
};
result func(const int *arr, const int size)
{
result res;
const int *iter = arr; //наш итератор
res.min = *iter++;
for(int i=1;i<size;++i)
{
if(*iter < res.min) res.min = *iter;
++iter;
}
iter = arr; //вернуть указатель в начало
for(int i=0;i<size;i++)
{
if(*iter < res.min*res.min)
res.count++;
++iter;
}
return res;
}
int main()
{
std::cout << "Enter size: ";
int size;
std::cin >> size;
int *arr = new int[size]; //выделить память под массив
//заполнить массив вручную
std::cout<<"Init array:\n";
for(int i{}; i < size; ++i){
std::cin >> arr[i];
}
result res = func(arr, size);
std::cout<<"Min = "<<res.min << "\tCount = " << res.count<<std::endl;
return 0;
}
#include < iostream >
struct result
{
int min;
int count = 0;
};
result func(const int *arr, const int size)
{
result res;
const int *iter = arr; //наш итератор
res.min = *iter++;
for(int i=1;i<size;++i)
{
if(*iter < res.min) res.min = *iter;
++iter;
}
iter = arr; //вернуть указатель в начало
for(int i=0;i<size;i++)
{
if(*iter < res.min*res.min)
res.count++;
++iter;
}
return res;
}
int main()
{
std::cout << "Enter size: ";
int size;
std::cin >> size;
int *arr = new int[size]; //выделить память под массив
//заполнить массив вручную
std::cout<<"Init array:\n";
for(int i{}; i < size; ++i){
std::cin >> arr[i];
}
result res = func(arr, size);
std::cout<<"Min = "<<res.min << "\tCount = " << res.count<<std::endl;
return 0;
}
Похожие вопросы
- Помогите с кодом C++
- Помогите с кодом с++
- Помогите с кодом С++
- Помогите дописать код с массивом
- Помогите дописать код с массивом?
- Помогите дописать код с массивом C++
- Помогите дописать код с массивом c++
- Помогите переделать код на Си
- Помогите с кодом, пожалуйста
- Помогите с кодом задачи c++. задача на фото