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

Двумерный массив. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран в алфавитном порядке согласные буквы, std::set http://www.cyberforum.ru/cpp-beginners/thread127156.html
Всем, здравствуйте! Помогите, пожалуйста, с задачей по С++.:sorry: К сожалению, я не понимаю((( Мне необходимо использовать ассоциативный контейнер – множество. Для выполнения операций с множествами задействовать алгоритмы библиотеки STL. Дан текст на русском языке. Вывести на экран в алфавитном порядке согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное...
C++ курсовая Динамическая обработка информация о наличии автобусов в парке. Справочные сведения: Указание:Сведения о каждом автобусе содержат: 1. № автобуса; 2. фамилию и инициалы водителя; 3. номер маршрута. Программа должна обеспечивать: а) формирование данных о всех автобусах в виде списка; б) при выезде каждого автобуса из парка вводится номер автобуса, и про-грамма удаляет данные об этом... http://www.cyberforum.ru/cpp-beginners/thread127155.html
Передать строку через функцию. C++
#pragma once class User { private: char *Surname; public: User(void); char SurnameReturn(); }
шахматы C++
Разработать класс для моделирования шахматной фигуры, позволяю- щий хранить вместе с экземпляром объекта его координаты на доске, цвет фигуры и число сделанных ей ходов. Встроенная функция “ход” должна получать новые координаты в виде параметров и изменять по- ложение фигуры на доске. Ходы, недопустимые для данной фигуры, не должны изменять ее координаты. Дана фигура: слон.
C++ Текстовый файл http://www.cyberforum.ru/cpp-beginners/thread127146.html
Разработайте программу, форматирующую текстовый файл в два столб- ца, аналогично газетным колонкам. В каждом столбце должно быть не более n слов, где n — параметр ком. строки. ________________ на С
C++ Определить, сколько раз встречается в файле введенное пользователем слово Дан текстовый файл. Напишите программу, которая определяет, сколько раз встречается в файле введенное пользователем слово. файл: C:\file.txt подробнее

Показать сообщение отдельно
HenryL
2 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 32

Двумерный массив. - C++

09.05.2010, 13:00. Просмотров 780. Ответов 4
Метки (Все метки)

Приветствую!
Задание:

Дана целочисленная прямоугольная матрица. Определить:
1. количество столбцов, содержащих хотя бы один нулевой элемент;
2. номер строки, в которой находится самая длинная серия одинаковых элементов

Сразу же проблема с первым заданием. Набросал код, но программа не работает:
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
#include "stdafx.h" 
#include "conio.h"
#include "math.h"
#include "iostream" 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{const int n=5;
const int m=4;
int M[n][m], i, j, r;
for(i=1;i<n;i++)
{
    for(j=1;j<m;j++)
    {
        cout << "Vvedite M[" <<i<< "]" "[" <<j<< "]:" << "";
        cin >>M[i][j]; 
    }
}
int kol0=0;
int k, l;
k=0;
l=0;
for (i=1; i<n; i=i+l)
{
    for (j=1; j<m; j=j+k)
    {
        if (M[i][j]==0)
        {
            kol0++;
            l++;
        }
    else
        {
            k++;
        }
    }
}
cout << "Kol-vo stolbcov, soderzhashix nol': " << kol0 << endl;
 
_getch();
    return 0;
}
Интуитивно чувствую, что есть недочеты, но не могу их выловить. Помогите подправить.

P.S. пожалуйста, подсказывайте как можно простым языком, без сложных конструкций )

Добавлено через 33 минуты
Долго тупил с тем, как сделать так, чтобы двигаться по строке, если элемент равен нулю, или продолжать пребирать дальше столбец, если не равен. Только сейчас вспомнил, что можно использовать break:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
for (j=1; j<m; j++)
{
    for (i=1; i<n; i++)
    {
    if (M[i][j]==0)
        {
            kol0++;
            break;
            
    }
}
}
...
Теперь, кажется, работает. Что скажете, все правильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru