0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 37
1

Написать функцию (или функции) для обработки одномерного массива

11.12.2019, 15:10. Показов 578. Ответов 2
Метки нет (Все метки)

Дан целочисленный вектор A размерности n. Найти номер последнего минимального элемента среди четных положительных элементов, лежащих правее первого отрицательного элемента.
Функция не должна содержать ввод-вывод. Вызов функции, ввод исходных данных, вывод результатов реализовать в функции main. Массив, с которым осуществляется работа, должен быть динамическим. Выделение и освобождение памяти для массива также осуществлять в функции main. Глобальные переменные использовать нельзя.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2019, 15:10
Ответы с готовыми решениями:

Написать функцию для обработки одномерного массива
Написать функцию для обработки одномерного массива: нахождение количества вхождений, заданного...

Написать функцию для сортировки одномерного массива методом пузырька. Массив и его длина – параметры функции
Написать функцию для сортировки одномерного массива методом пузырька. Массив и его длина –...

Разработать внешнюю функцию для обработки одномерного массива
По просьбе трудящихся видоизменяю задание...))) Люди!!!Будьте людьми!Помогите с кодом!!! Надо на...

Написать библиотеку для обработки одномерного динамического массива
Написать библиотеку для обработки одномерного динамического массива (инициализация, ввод/вывод,...

2
Модератор
Эксперт .NET
3857 / 3180 / 479
Регистрация: 27.01.2014
Сообщений: 5,809
11.12.2019, 16:13 2
жесть... А как вы сами себе представляете все это? )
1
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 37
11.12.2019, 17:52  [ТС] 3
/*
Дан целочеисленный вектор A размерности n. Найти номер последнего минимального
элемента среди четных положительных элементов, лежащих правее первого отрицательного
элемента. Преобразовать вектор таким образом, чтобы сначала располагали
сь все элементы,
отличающиеся от минимального не более чем на 10, а потом все остальные.
*/

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <malloc.h>
#define nmax 100
int main ()

{
int n, i, ineg = -1, ichet = -1, t = 0, imin, min;
printf("n = ");
scanf("%d", &n);
int *a = (int *) malloc(n*sizeof(int));

for(i = 0; i < n; i++)
{
printf("a[%d] = ", i);
scanf("%d", (a+i));
if(a[i] < 0 && t == 0)
{
ineg = i;
t = 1;
}
if(*(a+i)%2 == 0 && * (*(a+i)) > 0) //?
ichet = i;
}

printf("ish. v-r\n");
for(i = 0; i < n; i++)
printf("%5d", *(a+i);
printf("\n");

if(ineg == -1)
printf("net otr.\n");
else if(ineg == n - 1)
printf("otr na posl. meste\n");
else
if(ichet == -1)
printf("net chet. > 0 elem\n");
else if(ichet < ineg)
printf("net. chet > 0 elem. posle otr.\n");
else
{
imin = ineg + 1;
for(i = imin + 1; i < n; i++)
if(*(a+i) <= a[imin] && *(a+i) > 0)
imin = i;
printf("min = %d", a[imin]);
printf("\n");
}

//min = a[0];
min=*a;


for(i = 1; i < n; i++)
if(*(a+i) < min )
min = *(a+i)

printf("min = %d\n", min);

int b[nmax], c[nmax], d[nmax], j=0, k=0;
int *b = (int *) malloc(n*sizeof(int))
int *c = (int *) malloc(n*sizeof(int))
int *d = (int *) malloc(n*sizeof(int))

for(i = 0; i < n; i++)
if(abs(*(a+i) - min) <= 10)
{
*(b+j) = *(a+i);
j++;
}
else
{
*(c+k) = *(a+i);
k++;
}

for(i = 0; i < j; i++)
*(d+i) = *(b+i);

for(i = 0; i < k; i++)
d[i + j] = *(c+i);

int m = 1;
for(i = 0; i < n; i++)
if(*(a+i) != *(d+i))
m = 0;

if(m == 1)
printf("vector bez izm.");
else
for(i = 0; i < n; i++)
printf("%5d", *(d+i));

free(b);
free(c);
free(d);
free(a);
getch();
return 0;
}
Здесь используется работа через указатели + сортировка, вот это всё нужно сделать через функции
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2019, 17:52
Помогаю со студенческими работами здесь

Разработать внешнюю функцию для обработки одномерного массива, которая после первого четного заменяет на 0
Разработать внешнюю функцию для обработки одномерного массива,которая после первого четного...

Написать функцию, которая меняет элементы заданного списка или одномерного массива
Написать функцию, которая меняет элементы заданного списка или одномерного массива.Сделал с...

Написать функцию для определения максимального элемента одномерного массива
Написать функцию для определения максимального элемента одномерного массива.

Написать функцию для определения произведения четных элементов одномерного массива
Написать функцию для определения произведения четных элементов одномерного массива.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru