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

Написать функцию, которая находит минимальное значение в массиве Y и соответствующий этому значению элемент в массиве X

20.03.2020, 00:28. Показов 420. Ответов 1

Представьте себе, что проводятся опыты, результаты которых заносятся в два массива - X, Y. Написать функцию, которая находит минимальное значение в массиве Y и соответствующий этому значению элемент в массиве X. Использовать эту функцию в программе, которая запрашивает у пользователя количество элементов в массивах.
Вот мой код :

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <time.h>
 
int main() { 
int n , min , i , *p_y  , index_i , l  , K[l] ; 
setlocale(LC_ALL , "RUS"); 
printf("Введите размер масива - "); 
scanf("%d" , &n ); 
srand(time(NULL)); 
int Y[n] , X[n]; 
//printf ("%d\n" , Y[1]); 
p_y = &Y[0]; 
l = 0;
K[l] = 0;
for ( i=0 ; i < n ; i++)
{ 
    Y[i] = rand() % 10 ;
    X[i] = rand() % 10 ;
    
    printf("%d\t" , Y[i]);
    
    printf("%d\n" , X[i]);
if (Y[i]<*p_y)
{
    p_y = &Y[i] ;
 
}
 
} 
 
printf("Минимальний елемент масива Y - %d \n" , *p_y);
 
return 0; 
    
}
Вот вопрос , я не понимаю как именно реализовать нахождение соответствующего елемента и как .. запомнить индекс минимального значения)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2020, 00:28
Ответы с готовыми решениями:

Написать функцию, которая находит элемент в массиве символов равна указанному символа. Использовать эту функцию в програ
Не могу понять в чем проблема! Помогите пожалуйста! #include &lt;stdio.h&gt; #include &lt;ctype.h&gt;...

Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве).
Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). ...

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

Напишите функцию без условия if внутри цикла, которая находит в массиве A элемент, значение которого равно t
Помогите еще решить две оставшихся задачи (использовать готовые методы запрещено). 2. Линейный...

1
1850 / 1073 / 681
Регистрация: 25.04.2016
Сообщений: 3,020
20.03.2020, 06:10 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
//#include <locale.h>
#include <time.h>
 
void print_array (int *array, int size);
int minimal (int *array, int size);
 
int main (void)
{
    srand( (unsigned int)time(NULL)/2 );
    // setlocale(LC_ALL , "RUS");
 
    int i, n;
    printf("Введите размер масива - ");
    if (scanf("%d" , &n ) != 1 || n < 1) return 1;
 
    int *y = malloc(sizeof(int) * n);
    if (y == NULL) return 1;
 
    int *x = malloc(sizeof(int) * n);
    if (x == NULL) { free(y); return 1;}
 
    for (i = 0; i < n; i++)
    {
        y[i] = rand() % 10;
        x[i] = rand() % 10;
    }
 
    printf("X:\n");     print_array(x, n);
    printf("Y:\n");     print_array(y, n);
 
    int m = minimal(y, n);
    printf("Минимальний элемент масива Y - %d\n" , y[m]);
    printf("Соответствующий элемент масива Х - %d\n", x[m]);
 
    free(x);
    free(y);
    return 0;
}
// ---- находит позицию минимального элемента массива ---
// ------------------------------------------------------
int minimal (int *array, int size)
{
    int i, min = 0;
    for (i = 1; i < size; i++)
        if (array[i] < array[min]) min = i;
    return min;
}
// --------------- выводит массив на экран --------------
// ------------------------------------------------------
void print_array (int *array, int size)
{
    int i;
    for (i = 0; i < size; i++)
        printf("% 4d", array[i]);
    printf("\n\n");
}
// ------------------------------------------------------
с одним массивом:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
//#include <locale.h>
#include <time.h>
 
void print_array (int *array, int size);
int minimal (int *array, int size);
 
int main (void)
{
    srand( (unsigned int)time(NULL)/2 );
    // setlocale(LC_ALL , "RUS");
 
    int i, n;
    printf("Введите размер масива - ");
    if (scanf("%d" , &n ) != 1 || n < 1) return 1;
 
    int *a = malloc(sizeof(int) * (n+n));
    if (a == NULL) return 1;
 
    for (i = 0; i < n; i++)
        a[i] = rand() % 10, a[n+i] = rand() % 10;
 
    printf("X:\n");     print_array(a+n, n);
    printf("Y:\n");     print_array(a, n);
 
    int m = minimal(a, n);
    printf("Минимальний элемент масива Y - %d\n" , a[m]);
    printf("Соответствующий элемент масива Х - %d\n", a[n+m]);
 
    free(a);
    return 0;
}
// ---- находит позицию минимального элемента массива ---
// ------------------------------------------------------
int minimal (int *array, int size)
{
    int i, min = 0;
    for (i = 1; i < size; i++)
        if (array[i] < array[min]) min = i;
    return min;
}
// --------------- выводит массив на экран --------------
// ------------------------------------------------------
void print_array (int *array, int size)
{
    int i;
    for (i = 0; i < size; i++)
        printf("% 4d", array[i]);
    printf("\n\n");
}
// ------------------------------------------------------
Gerlum, вам осталось лишь проявить чуть-чуть смекалки и реализовать эту программу вообще без массива.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2020, 06:10
Помогаю со студенческими работами здесь

Написать функцию int Search ( double A[], int n , double x), которая находит в массиве double A[n] элемент, значение которого равно x
Написать функцию int Search ( double A, int n , double x), которая находит в массиве double A...

Если соответствующий элемент в исходном массиве равен заданному, то в новом массиве соответствующий элемент -1, в противном случае - 0
2. Из одномерного числового массива размерности n создать новый одномерный массив по правилу: если...

Структура: Разработать программу, которая по заданному значению параметра St находит соответствующий элемент массива
Дан одномерный массив из N элементов, каждый из которых представляет собой запись вида: struct ZAP...

Написать программу, которая находит третий по величине максимальный элемент в массиве
Написать программу, которая находит третий по величине максимальный элемент в массиве. Помогите...


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

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

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