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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ketler
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 15
#1

Почему не работает??? - C++

02.07.2011, 12:19. Просмотров 251. Ответов 1
Метки нет (Все метки)

Прога должна считать количество нулевых элементов, и элементов в диапазоне от 7 до 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
// pr1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
#define I 3
#define J 4
 
// прототипы функций
void inputmas(int [I][J], char);
void raschet(int [I][J], int& , int& );
void printmas(int [I][J], char);
void printrez(int [I][J], char, int, int);
 
int main()
{
 
  int c[I][J], d[I][J], kol, nul;
  setlocale(LC_ALL, "Russian");
  inputmas(c,'c');                  // вызовы функций
  raschet(c, nul, kol);
  printrez(c,'c', kol, nul);
  system("pause");
  inputmas(d,'d');
  raschet(d, nul, kol);
  printrez(d,'d', kol, nul);
  system("pause");
  return 0;
   
}
 
// определение функции ввода массива
void inputmas(int m[I][J], char im)
{  
  int i,j;
  cout << "\nВводим массив " << im << "\n";
  for (i=0; i<I; i++)
    for ( j=0; j<J; j++)
    {
      cout << im << " [" << i << " ][ " << j << " ] = ";
      cin >> m[i][j];
    }
}
 
// определение функции расчета 
void raschet (int x[I][J], int& nul, int& kol)
{ 
    for (int i=0; i<I; i++)
        for (int j=0; j<J; j++)
    {
      if ( x[i][j]==0 )
        nul++;
    }
        for (int i=0; i<I; i++)
            for(int j=0; j<J; j++)
    {
      if (x[i][j]>=7 && x[i][j]<=10)
      kol++;
    }
 
}
 
 
// определение функции вывода массива на экран
void printmas(int x[I][J], char immas)
{   int i,j;
  cout << "\nМассив " << immas ;
  for (i=0; i<I; i++)
    {
      cout << "\n";
      for(j=0; j<J; j++)
    {
      cout.width(8);     // минимальное кол-во позиций
      cout << x[i][j];
    }
     }
}
// определение функции вывода
void printrez(int x[I][J], char immas, int kol, int nul)
{  
  printmas(x,immas);   // вызываем функции вывода массива
  cout << "\n\nКоличество элементов в интервале от 7 до 10 =" << kol;
  cout << "\n Количество нулевых эелементов массива = " << nul <<" \n";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2011, 12:19     Почему не работает???
Посмотрите здесь:

Почему не работает? - C++
Почему не работет программа? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #define N 10 ...

Почему не работает? - C++
Здравствуйте уважаемые программисты! Вроде должно работать. Программа считает среднее арифметическое значение: Вот код. #include...

Не работает. Почему? - C++
Почему не работает данный код? #include &lt;stdio.h&gt; void main() { char *menu; char **order; char **Cprice; int a = 0; ...

почему не работает? - C++
Комплексное число. Заданы действительная и мнимая части комплексного числа z = х+iy. Преобразовать его в тригонометрическую форму и...

Почему не работает? - C++
создаю прогу, которая использует родовые функции. Вот написал код, когда две команды, которые я закоментировал закоментированы, то прога...

почему не работает? - C++
господа почему не правельно работает программа? #include &lt;cstdio&gt; #include&lt;iostream&gt; using namespace std; int main() { ...

Почему работает? - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;ctime&gt; #include &lt;iterator&gt; #include &lt;string&gt; #include &lt;sstream&gt; class...

Почему не работает - C++
Если по отдельности запускать — fin() и fout() они работают. int main() { fout(); system(&quot;pause&quot;); return 0; }

Почему не работает? - C++
#include &lt;iostream&gt;; #include &lt;cmath&gt;; #include &lt;vector&gt;; using namespace ::std; void main () { vector&lt;double&gt;temps; ...

почему не работает? - C++
решил по практиковаться с выделением динамической памяти: почему не работает код: #include &lt;iostream&gt; using namespace std; int...

почему-то не работает - C++
ошибок компилятор не видит, но компилировать отказывается (dev-cpp + mingw). ошибки в работе программы меня мало волнуют, но надо чтобы она...

Почему не работает gets? - C++
Хочу чтобы функция создавала массив строку. Всё работало если указывать фиксированный размер массива, но я захотел , чтобы main()...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,990
02.07.2011, 12:27     Почему не работает??? #2
Просто комментарии от другой программы (были), вот и не работает
А если серьёзно, то переменные kol и nul нигде не инициализируются, поэтому результат непредсказуем.
Yandex
Объявления
02.07.2011, 12:27     Почему не работает???
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru