Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- #include "conio.h"
- #include "malloc.h"
- #define N 20
- int razmer(int* ra, char sim)
- {
- while (1)
- {
- printf("Введите размерность вектора %c=>", sim);
- scanf("%d", ra);
- if ((*ra > 0) && (*ra < 30)) break;
- }
- return(*ra);
- }
- void vvod_vektora(int* ra, float* pa, char sim)
- {
- int i;
- for (i = 0; i < *ra; i++)
- {
- printf("%c[%d]=", sim, i);
- scanf("%f", pa + i);
- }
- }
- void vivod_vektora(int* ra, float* pa, char sim)
- {
- printf("Исходный вектор: ");
- int i;
- for (i = 0; i < *ra; i++)
- printf("%3.0f ", *(pa + i));
- }
- float poisk(int* ra, float* pa, char sim)
- {
- int i,k=0;
- float min = *(pa + 0);
- for (i = 0; i < *ra; i++)
- {
- if (*(pa + i) < min) min = *(pa + i);
- }
- for (i = 0; i < *ra; i++)
- {
- if (*(pa + i) == min) k++;
- }
- printf("\n Минимум вектора %c = %1.0f", sim, min);
- printf("\n Повторений: %d", k);
- return(min);
- }
- void main()
- {
- while (1)
- {
- int r1, r2,min;
- float* a, mina, kmina;
- char otv;
- printf("Найти наиболее часто встречающийся малый элемент. Вывести кол-во повторений этого элемента.\n");
- r1 = razmer(&r1, 'a');
- a = (float*)malloc(r1 * sizeof(float));
- printf("Введите вектор a:\n");
- vvod_vektora(&r1, &*a, 'a');
- vivod_vektora(&r1, &*a, 'a');
- mina = poisk(&r1, &*a, 'a');
- printf("\n Продолжим работу (Y/N)?");
- scanf("%s", &otv);
- if ((otv == 'n') || (otv == 'N')) break;
- free(a);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement