Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему все обнуляется??? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не понятно(извиняюсь если не туда!) http://www.cyberforum.ru/cpp-beginners/thread308860.html
прога на си на IBM PC Добавлено через 15 секунд Необходимо реализовать на языке Си на IBM PC один из ал- горитмов управления памятью путем разработки следующих функций по выделению и...
C++ определить объём ОЗУ Здравствуйте все кто читает этот пост. Ниже привожу код которым определяю количество ОЗУ в системе. Не могу разобраться, почему работает корректно только если в системе не более 2Гб, если свыше 2х,... http://www.cyberforum.ru/cpp-beginners/thread308816.html
C++ Массивы в си, исправление ошибок
Задача с массивами. Дана вещественная матрица A размера n × m. Определить k – количество "особых" элементов массива A, считая его элемент особым, если он больше суммы остальных элементов его...
Выделение памяти для массива через функцию и использование этого массива C++
Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой структуры. Есть функция которая выделяет память, потом создает элемент структуры, считывает данные с...
C++ функция(на си), распознающая 1-е число в строке http://www.cyberforum.ru/cpp-beginners/thread308792.html
требуется написать функцию которая распознает первое целое число в строке(число не должно входить в слово, т.е. должно быть разделено разделителями). разделители - все символы, кроме букв и цифр....
C++ Программа на языке C++ Написать программу на языке C++, читающую со стандартного ввода 4 деся- тичных числа x, y,m, n. Все смещения будут указываться начиная с младшего бита, начиная с 0. В числах x, y младшие m из x... подробнее

Показать сообщение отдельно
irina3456
1 / 1 / 0
Регистрация: 23.05.2011
Сообщений: 91

Почему все обнуляется??? - C++

31.05.2011, 00:48. Просмотров 850. Ответов 10
Метки (Все метки)

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream.h>
#include <iomanip.h>
 
  // прототипы функций
void input ( float [5][6], char);
void raschet ( float [5][6], float , float*,float*, int);
void output ( float [5][6], char, float, float, int);
 
void main()
{
  // объявление массивов и переменных
 float a[5][6],b[5][6],otra,otrb,maxa,maxb,maxa_otr,maxb_otr;
 int kola_nul,kolb_nul;
  /*otra - для присваиваивания отриц-го значения в  массиве a,      
    otrb - для присваиваивания отриц-го значения в  массиве b;
    maxa - наиб.значение массива a,
    maxb - наиб.значение массива b;
    maxa_otr - наиб.значение из всех отриц.значений массива а,
    maxb_otr - наиб.значение из всех отриц.значений массива b;
    kola_nul - кол-во нулевых значений массива a,
    kolb_nul - кол-во нулевых значений массива a */
 
  // обращение к функциям (вызов для выполнения)
input ( a, 'a');
input ( b, 'b');
raschet( a, otra, &maxa, &maxa_otr, kola_nul);
raschet( b, otrb, &maxb, &maxb_otr, kolb_nul);
output( a, 'a', maxa, maxa_otr, kola_nul);
output( b, 'b', maxb, maxb_otr, kolb_nul);
}
 
  // определение функции ввода массива input()
void input ( float x[5][6], char name)
{
 int i, j;
 cout << "Vvodim massiv " << name << endl;
 for (i=0; i<5; i++)
  for (j=0; j<6; j++)
  {
   cout << " Vvedite " << name << "[" << i << "][" << j << "]=";
   cin >> x[i][j];
  }
}
 
  // определение расчетной функции
  // в качестве аргументов у данной функции два указателя
void raschet ( float x[5][6], float otr,float *max, float *max_otr,int kol_nul)
{
 int i,j;
 otr=0;
 *max = 0;
 *max_otr = 0;
 kol_nul=0;
 
  // нахождение наиб.значения из всех элементов
{
 for (i=0; i<5; i++)
  for (j=0; j<6; j++)
   if ( x[i][j] > *max )
   {
    *max=x[i][j];
   }
 
  // кол-во нулевых значений
 for (i=0; i<5; i++)
  for (j=0; j<6; j++)
   if ( x[i][j] = 0 )
   {
    kol_nul++;
   }
}
  // нахождение наиб.значения из всех отриц-ных значений
 
 for (i=0; i<5; i++)
  for (j=0; j<6; j++)
   if ( x[i][j] < 0 )
   {
    otr=x[i][j];
   }
   if(*max_otr = 0 && otr > *max_otr)
   {
    *max_otr = otr;
   }
}
 
  // определение функции вывода output()
void output ( float x[5][6], char name, float max, float max_otr,int kol_nul)
{
 int i,j;
 cout << " Ishodnyi massiv " << name << ":" << endl;
 for (i=0; i<5; i++)
 {
  for (j=0; j<6; j++)
   cout << setw(7) << x[i][j];
   cout << endl;
 }
 cout << "\nNaibolshee znachenie iz vseh znachenii massiva"<< name << " = " << max << endl;
 cout << "Naibolshee znachenie iz vseh otricatelnyh znachenii massiva"<< name << " = " << max_otr << endl;
 cout << "Kolichestvo nulevyh znachenii massiva"<< name << " = " << kol_nul << endl;
 cin.get();
 cin.get();
}
Ввожу массивы, результат-массив обнулен, как исправить?
Нужно для каждого массива опpеделить: наибольшее из всех отpицательных
значений, наибольшее из всех значений, количество нулевых
значений.
На указатели не обращайте внимание, так требуется(и без них все обнуляется).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru