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

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

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

двумерный массив и функция! - C++

25.11.2011, 20:16. Просмотров 312. Ответов 4
Метки нет (Все метки)

Парни помогите, чего-то я не догоняю!
у меня есть функция kol она считает сколько столбцов с нулевым элементом встречается и плюсует в переменную g!

если делать не через функцию все работает.
у меня в g выводит 0!(если через функцию делать)
сорри за код я его не форматировал!

где допустил касяк?

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int kol (int A[100][100],int n,int m,int g){ // подсчет нулевых элементов
 
for ( int j = 0; j < n; j++ ){
  for ( int i = 0; i < m; i++ ){
 
      if ( A[i][j] == 0 ){
         g++;
      }
   }
}
return 0;
}
 
 
 
int main(){
const int k=100;        
int n,m;
int g=0;
int A[k][k];
int i,j;
setlocale(LC_ALL, "rus");
cout<<"Введите размеры матрицы "<<endl;
cin >>n>>m;
 
for(i=0;i<n;i++)
        for(j=0;j<m;j++){
                cout<<"a["<<i<<","<<j<<"] = ";
                        cin>>A[i][j];   
                
                                        }
 
cout << "Вот Ваша матрица:" << endl << endl;
 for (int i=0;i<n;i++){
        for(int j=0; j<m;j++)
                cout<<"  "<< A[i][j]<< " ";
                        cout<<endl;     
                                        }
 
 
 
 
  
 kol(A,n,m,g); //вызов функции!
 cout<<"количество столбцов, содержащих хотя бы один нулевой элемент: "<<g<<endl;
        
 system("pause");
return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2011, 20:16     двумерный массив и функция!
Посмотрите здесь:

Функция и двумерный массив - C++
Я не знаю в чём проблема заключается на этом этапе, но гуглил я много. Если не сложно, просто исправьте код под нужный или объясните, как...

Функция и двумерный массив. - C++
День добрый. У меня такое задание: нужно создать функцию которая будет находить сумму элементов в тех строках, которые содержат хотя бы...

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

Двумерный массив и функция - C++
Нууууу плиззз подскажите как сделать в виде отдельной функции????? Borland C++ #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...

Функция возвращает двумерный массив - C++
У кого-то есть пример возврата функцией массива? Я пыталась сделать как с обычной переменной - оно компилируется, но не возфращает...

Функция, принимающая двумерный массив - C++
Дело такое: Есть функция, которая в параметрах принимает двумерный массив. Причем двумерные массивы будут различаться, как в количество...

Двумерный массив. Функция возвращает мусор - C++
Добрый день. Необходимо сгенерировать матрицу и заполнить ее. Написал вот такую функцию float** GenerateNaturalNumbers(int...

Функция выводить на печать одномерный и двумерный массив - C++
Написать функции для печати одномерного и двумерных массивов. #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; ...

Функция, которая аннулирует двумерный динамический массив - C++
Здравствуйте! Подскажите пожалуйста функцию которая аннулирует двумерный динамический массив. Заранее благодарна.

Функция - шаблон ,параметр - двумерный массив типа Т . - C++
Как правильно прописать в параметры функции двумерный массив типа Т ?(шаблонная функция) Видел формулу преобразования двумерного в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
25.11.2011, 20:21     двумерный массив и функция! #2
bam32,

Я вас разочарую, но ваша функция не подсчитывает число столбцов, которые содержат по крайней мере один нулевой элемент. Она подсчитывает общее число нулевый элементов в матрице. Кроме того, о том, что функция это сделала, кроме нее самой никто не узнает! Вы из функции всегда возвращаете 0.

C++
1
2
3
4
5
int kol (int A[100][100],int n,int m,int g){ // подсчет нулевых элементов
.... 
....
return 0;
}
bam32
1 / 1 / 0
Регистрация: 10.11.2011
Сообщений: 48
25.11.2011, 20:26  [ТС]     двумерный массив и функция! #3
Цитата Сообщение от Сыроежка Посмотреть сообщение
Кроме того, о том, что функция это сделала, кроме нее самой никто не узнает! Вы из функции всегда возвращаете 0.
а как это исправить?

я же её вызываю внизу!

Цитата Сообщение от bam32 Посмотреть сообщение
kol(A,n,m,g); //вызов функции!
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 20:32     двумерный массив и функция! #4
C
1
2
3
4
5
6
7
8
9
10
11
int Count(int A[100][100], int n, int m)
{
   int count = 0, i, j;
   for (i = 0; i < n; i++ )
   {
       for(j = 0 j < m && a[i][j] != 0; j++)
           ;
       count += (j < m);
   }
   return count;
}
bam32
1 / 1 / 0
Регистрация: 10.11.2011
Сообщений: 48
25.11.2011, 21:14  [ТС]     двумерный массив и функция! #5
задам по другому вопрос.
как сделать эту прогу в функциях?
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(){
const int k=100;    
int n,m;
int g=0;
int A[k][k];
int i,j;
setlocale(LC_ALL, "rus");
cout<<"Введите размеры матрицы "<<endl;
cin >>n>>m;
 
for(i=0;i<n;i++)
    for(j=0;j<m;j++){
        cout<<"a["<<i<<","<<j<<"] = ";
            cin>>A[i][j];   
        
                    }
 
cout << "Вот Ваша матрица:" << endl << endl;
 for (int i=0;i<n;i++){
    for(int j=0; j<m;j++)
        cout<<"  "<< A[i][j]<< " ";
            cout<<endl;     
                    }
 
 
 for ( int j = 0; j < n; j++ ){
  for ( int i = 0; i < m; i++ ){
 
      if ( A[i][j] == 0 ){
         g++;
      }
   }
}
 
cout<<"количество столбцов, содержащих хотя бы один нулевой элемент: "<<g<<endl;
 
int v = 0;
for ( int i = 0; i < n; i ++ )
{
int c = 0;
int max = 0;
int maxe = 0;
     for ( int j = 0; j < m-1; j ++ )
        {
                if ( A[i][j] == A[i][j+1] )
                        c ++;
                if ( c > maxe )
                        maxe = c;
        }
        if ( maxe > max )
        {
                max = maxe;
                v = i;
        }
}
cout<<"номер первой строки с максимум одинаковых переменных "<<v<<endl; 
system("pause");
 
return 0;
}
Yandex
Объявления
25.11.2011, 21:14     двумерный массив и функция!
Ответ Создать тему
Опции темы

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