Тема: C++ Масив
Масив розмір 50 , діапазон значень (-100 ; 100) , потрібно:
Замінити всі елементи з від'ємним значенням на значення мінімального (не дорівнює 0) позитивного елемента
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → C++ Масив
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Масив розмір 50 , діапазон значень (-100 ; 100) , потрібно:
Замінити всі елементи з від'ємним значенням на значення мінімального (не дорівнює 0) позитивного елемента
/****************************************************************************
Масив розмір 50 , діапазон значень (-100 ; 100) , потрібно:
Замінити всі елементи з від'ємним значенням на значення
мінімального (не дорівнює 0) позитивного елемента *
****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_LEN 100
#define MIN_LEN -100
#define ARR_SIZE 50
void BuildArray(int *);
void PrintArray(int *);
int GetMinPositValue(int *);
void ReplaceValue(int *, int);
int main(int argc, char *argv[])
{
int arr[ARR_SIZE];
srand(time(0));
BuildArray(arr);
PrintArray(arr);
int min_value = GetMinPositValue(arr);
ReplaceValue(arr, min_value);
PrintArray(arr);
printf("\nHello, world!\n");
return 0;
}
void PrintArray(int * array)
{
for (int i = 0; i < ARR_SIZE; i++)
printf("%4d = %4d ", i, array[i]);
}
void BuildArray(int * array)
{
for (int i = 0; i < ARR_SIZE; i++)
{
array[i] = rand() % (MAX_LEN - MIN_LEN) + MIN_LEN;
}
}
int GetMinPositValue(int * array)
{
int pos = 0;
int value = 0;
for (int i = 0; i < ARR_SIZE; i++)
{
if (array[i] > 0)
{
value = array[i];
pos = i;
break;
}
}
printf("\nFirst positive value pos=%4d val= %4d\n", pos, array[pos]);
for (int i = pos; i < ARR_SIZE; i++)
{
if (array[i] < 0) continue;
//
if (array[i] < value)
{
value = array[i];
printf("pos=%4d val= %4d\n", i, array[i]);
}
}
printf("Min positive value val= %4d\n", value);
return value;
}
void ReplaceValue(int * array, int value)
{
for (int i = 0; i < ARR_SIZE; i++)
{
if (array[i] < 0)
array[i] = value;
}
}
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися