Форум программистов, компьютерный форум CyberForum.ru

Выделением памяти для массивов - C++

Восстановить пароль Регистрация
 
thw
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 9
25.05.2014, 00:19     Выделением памяти для массивов #1
Даны три массива вещественных чисел X(25), B(30), Y(25). Из исходных массивов сформировать массив К[3], элементы которого равны количеству положительных элементов в исходных массивах. Найти меньшее значение элемента и его номер в массиве B.

Числа генерируются случайным образом в диапазоне:
X: [-100;120]
B: [-10;5.5]
Y: [-12;15.5]

Работа с массивами осуществляется только с динамическим выделением памяти. Программа должна содержать как минимум 3 функции, кроме основной. Функции должны иметь различный тип.

в массиве формируются не те числа которые я задал а абсолютно нереальные

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
61
62
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void form_mass(float *A,int n, float M, float N)
{
  int i;
  for (i=0;i<n;i++)
  A[i]=M+N*rand()/RAND_MAX;
}
void print_mass(float *A,int n)
{
  int i;
  for (i=0;i<n;i++)
    printf("%8d",A[i]);  
}
int min_number(float *A,int n)
{
  int i,imin;
  imin=0;
  for(i=1;i<n;i++)
     if (A[i]<A[imin]) imin=i;
  return imin;
}
int poloz_elem(float *A,int n)
{
  int i,poloz;
  poloz=0;
  for(i=0;i<n;i++)
     if (A[i]>0) poloz+=1;
  return poloz;
}
 
int main()
{
  float X[25],B[30],Y[25],K[3];
  int imin_X,pol_n;
  printf("Enter array A:\n");
  form_mass(X,25,-100,120);
  form_mass(B,30,-10,5.5);
  form_mass(Y,25,-12,15.5);
  printf("Massiv X:\n");
  print_mass(X,25);
  printf("\nMassiv B:\n");
  print_mass(B,30);
  printf("\nMassiv Y:\n");
  print_mass(Y,25);
  pol_n=poloz_elem(X,25);
    printf("\n\n4islo polozj elementov %d\n",pol_n);
    K[0]=pol_n;
  pol_n=poloz_elem(B,30);
    printf("\n\n4islo polozj elementov %d\n",pol_n);
    K[1]=pol_n;
  pol_n=poloz_elem(Y,25);
  printf("\n\n4islo polozj elementov %d\n",pol_n);
    K[2]=pol_n;
  printf("\nMassiv K:\n");
  print_mass(K,3);
  imin_X=min_number(X,25);
  printf("\nMimimum: element X[%d]=%d\n",imin_X,X[imin_X]);
  getch();
  return 0;
}
в чем проблемма понять не могу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 00:19     Выделением памяти для массивов
Посмотрите здесь:

C++ ошибка с выделением памяти
C++ Строки с выделением динамической памяти
C++ Конструктор с выделением памяти
Проблема с выделением памяти C++
Динамическим выделением памяти для буфера по объёму файла C++
Проблемы с выделением памяти C++
C++ Работа со строками и выделением памяти
C++ Динамическое выделением памяти для массивов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru