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

подскажите с массивом - C++

Восстановить пароль Регистрация
 
Fenita
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 28
08.11.2011, 15:05     подскажите с массивом #1
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{ const int  N =10,M=5;
  int a[N][M];int min,max;
  srand(time(NULL));
  for(int i = 0; i <N; i++)
   { cout<<"\n";
     for(int j = 0; j <M; j++)
       {   a[i][j] = rand()%(10+11)-10;
           cout.width(4);
           cout<<a[i][j];}}
    int k = 0;
    for (int j = 0; j < M; j++)
    {
        for (int i = 0; i < N; i++) if (a[i][j] == 0)
        {
            k++;
            break;
        }
    }
    cout<<"\n";
    cout << k << "col" << endl;
    return 0;
}
Дана целочисленная прямоугольная матрица. Определить:
1. количество столбцов, содержащих хотя бы один нулевой элемент; Проблема в том , что у меня выдается не число столбов, а число нулевых элементов, тоесть если в столбце два нуля, то счетчик сделает плюс 2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2011, 15:05     подскажите с массивом
Посмотрите здесь:

Массивом C++
Структура с массивом C++
C++ Проблемка с массивом
C++ Работа с массивом.
С массивом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 16:10     подскажите с массивом #2
Fenita, Обратите внимание на индексы при подсчете нулей! В данном случае у Вас матрица представляется по-другому
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
08.11.2011, 16:41     подскажите с массивом #3
C++
1
2
3
4
5
6
7
int i=0,i2=0;
for(;i<N;i++)
{
for(;i2<M;i2++)
if (a[i][i2]=0) {k++;break;}
}
cout <<k;
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
08.11.2011, 16:46     подскажите с массивом #4
Цитата Сообщение от Van111 Посмотреть сообщение
if (a[i][i2]=0) {k++;breack;}
2 ошибки в одной строчке

Добавлено через 4 минуты
Цитата Сообщение от Fenita Посмотреть сообщение
Проблема в том , что у меня выдается не число столбов, а число нулевых элементов, тоесть если в столбце два нуля, то счетчик сделает плюс 2
Вы в этом уверены? По мне так всё верно
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 16:52     подскажите с массивом #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
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{ const int  N =10,M=5;
  int a[N][M];int min,max;
  srand(time(NULL));
  for(int i = 0; i <N; i++)
   { cout<<"\n";
     for(int j = 0; j <M; j++)
       {   a[i][j] = rand()%(10+11)-10;
           cout.width(4);
           cout<<a[i][j];}}
    int k = 0;
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++) if (a[i][j] == 0)
        {
            k++;
            break;
        }
    }
    cout<<"\n";
    cout << k << "col" << endl;
    return 0;
}
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
08.11.2011, 16:56     подскажите с массивом #6
Цитата Сообщение от mimicria Посмотреть сообщение
2 ошибки в одной строчке
с блокнота делал
Цитата Сообщение от Van111 Посмотреть сообщение
if (a[i][i2]=0) {k++;break;}
if ((a[i][i2])==0) {k++;break;}
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
08.11.2011, 16:57     подскажите с массивом #7
Цитата Сообщение от Xind Посмотреть сообщение
Это Ваш код, только исправлен в нескольких строчках.
И зачем Вы поменяли циклы местами?
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 17:00     подскажите с массивом #8
Цитата Сообщение от mimicria Посмотреть сообщение
И зачем Вы поменяли циклы местами?
Ой, не заметил, там столбцы нужно.
Fenita
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 28
08.11.2011, 17:08  [ТС]     подскажите с массивом #9
спасибо всем, разобрался вроде, и правдо ошибки нету
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2011, 17:08     подскажите с массивом
Еще ссылки по теме:

C++ Подскажите с Массивом!
C++ Массивом и динамическим массивом
C++ с массивом С

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

Или воспользуйтесь поиском по форуму:
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 17:08     подскажите с массивом #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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{ 
        const int  N = 10, M = 5;
        int a[N][M];
        //int min,max;
        srand(time(NULL));
          
        for(int i = 0; i < N; i++)
        { 
                cout<<"\n";
                for(int j = 0; j < M; j++)
                {  
                        a[i][j] = rand()%(10 + 11) - 10;
                        cout.width(4);
                        cout<<a[i][j];
                }
        }
                   
        int k = 0;
        for (int j = 0; j < M; j++)
        {
                for (int i = 0; i < N; i++) {
                        if (a[i][j] == 0) {
                                k++;
                                break;
                        }
                }
        }
            
        cout<<"\n";
        cout << k << "col" << endl;
        return 0;
}
Yandex
Объявления
08.11.2011, 17:08     подскажите с массивом
Ответ Создать тему
Опции темы

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