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

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

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

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

08.11.2011, 15:05. Просмотров 356. Ответов 9
Метки нет (Все метки)

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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2011, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите с массивом (C++):

Подскажите с Массивом! - C++
Уже 2ой день мучаюсь с ним, помогите с решением пожалуйста Дан массив. Выяснить верно ли, что максимальный элемент превышает минимальный...

Массивом и динамическим массивом - C++
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычислить сумму ненулевых элементов, кратных...

С массивом - C++
Требуется в массиве, между минимальным и максимальным элементами (и их кстати) записать в обратном порядке элементы. У меня какой-то бред в...

Массивом - C++
помогите плиз.. чет проблемы с массивом у меня) Задать два массива вещественных чисел с помощью датчика случайных чисел. Для каждого...

с массивом С - C++

Задача с массивом. - C++
Требуется найти максимальный элемент массива, минимальный, среднее арифмитическое элементов и вывести на экран, считываются массивы из...

9
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 16:10 #2
Fenita, Обратите внимание на индексы при подсчете нулей! В данном случае у Вас матрица представляется по-другому
0
Van111
210 / 189 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 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;
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
08.11.2011, 16:46 #4
Цитата Сообщение от Van111 Посмотреть сообщение
if (a[i][i2]=0) {k++;breack;}
2 ошибки в одной строчке

Добавлено через 4 минуты
Цитата Сообщение от Fenita Посмотреть сообщение
Проблема в том , что у меня выдается не число столбов, а число нулевых элементов, тоесть если в столбце два нуля, то счетчик сделает плюс 2
Вы в этом уверены? По мне так всё верно
1
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;
}
0
Van111
210 / 189 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
08.11.2011, 16:56 #6
Цитата Сообщение от mimicria Посмотреть сообщение
2 ошибки в одной строчке
с блокнота делал
Цитата Сообщение от Van111 Посмотреть сообщение
if (a[i][i2]=0) {k++;break;}
if ((a[i][i2])==0) {k++;break;}
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
08.11.2011, 16:57 #7
Цитата Сообщение от Xind Посмотреть сообщение
Это Ваш код, только исправлен в нескольких строчках.
И зачем Вы поменяли циклы местами?
0
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
08.11.2011, 17:00 #8
Цитата Сообщение от mimicria Посмотреть сообщение
И зачем Вы поменяли циклы местами?
Ой, не заметил, там столбцы нужно.
0
Fenita
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 28
08.11.2011, 17:08  [ТС] #9
спасибо всем, разобрался вроде, и правдо ошибки нету
0
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;
}
1
08.11.2011, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2011, 17:08
Привет! Вот еще темы с ответами:

Траблы с массивом - C++
Помогите решить: Дан массив вещественных чисел X=(x1,x2,..,xn). Записать элементы заданного массива Х в массив Y следующим образом: в...

Задание с массивом - C++
Передать массив I(10) в массив J(10) в обратной последовательности. Буду сильно благодарен за помощь.

Задача с массивом - C++
Здравствуйте!Подскажите пожалуйста в решении такой задачи. Например есть кусок кода: int main(){ int mas; for(int i=0;i&lt;10;i++){ ...

Программа с массивом - C++
Здраствуйте, мне дали программу с массивом, помогите мне её исправить и дополнить. Задание было таковым: Дан массив целых чисел. Найти...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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