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

Определить количество строк, содержащих хотя бы один нулевой элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread60641.html
program Project1; {$APPTYPE CONSOLE} uses SysUtils, Windows;
C++ Создание программы с использованием математических и тригонометрических функций Нужны две небольших проги на С ++ )))) 1. Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений. Введите исходные данные: Величина первого сопротивления (Ом) -> 15 Величина второго сопротивления (Ом)-> 20 Ответ:8.57 Ом 2. Написать программу вычисления сопротивления электрической цепи, состоящей... http://www.cyberforum.ru/cpp-beginners/thread60633.html
C++ Ошибка в коде.
Доброго времени суток задали нам сегодня задачу решить примерhttp://pic.ipicture.ru/uploads/091102/kKTR6dTEmX.png написал код но он не правильный.// Laboratornaja3.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "cmath" #include "iomanip" using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Перестановка элементов в массиве
Помогите с задачкой: Дан размер массива =100 Диапазон значений от -50 до +50 Во всех последовательностях положительных чисел изменить порядок элементов на противоположный. Вообщем я вывел массив, потом вывел положительные числа этого массива но никак не могу сделать чтобы они метами поменялись. вот набросок: #include <conio.h> #include <stdio.h> #include <stdlib.h>
C++ вопрос про указателей http://www.cyberforum.ru/cpp-beginners/thread60602.html
вот напр эта строка int *m=new int; это как я понял создается указатель?тогда что такое new int?
C++ Программа ввода текста с клавиатуры. задание: Составить программу, которая вводит с клавиатуры строку, содержащую до 75 символов, и выводит на экран слова из этой строки, длина которых составляет 5...8 букв. В случае отсутствия таких слов выводится соответствующее со общение. прошу помочь написать программу. подробнее

Показать сообщение отдельно
sweeney
0 / 0 / 0
Регистрация: 10.12.2008
Сообщений: 55

Определить количество строк, содержащих хотя бы один нулевой элемент - C++

02.11.2009, 18:08. Просмотров 6309. Ответов 7
Метки (Все метки)

Здравствуйте, дорогие форумчане.
На предмете программирования задали написать программу по заданию:


Дана целочисленная прямоугольная матрица. Определить:
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
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
#include <iostream>
#include <time.h>
using namespace std;
 
int main(void){
 
 
 int x[100][100],i,j,stb,str,k,l=0,h,N;
 bool flag;
 
 cout<<"Vvedite kolichestvo strok: "; cin>>str;
 cout<<"\n";
 cout<<"Vvedite kolichestvo stolbcov: "; cin>>stb;
 cout<<"\n";
 
 
 
 for(i=0;i<str;i++)
 {
    flag=false;
    for(j=0;j<stb;j++)
        {
            printf("%3d",x[i][j]=(rand()%10));
            if(0==x[i][j])
                {
                    flag=true;;
                }
        }
 
  printf("\n");
 
    if(flag==true)
        {
            l++;                //кол-во строк с 0
        }
 }
 
 
 cout<<"\n1. Koli4estvo strok s nulevim elementom: "<<l;
 
 k=0;
 
 for(j=0;j<stb;j++)
 {
    l=0;
    h=0;
        for(i=0;i<str;i++)
            {
                if(x[i][j]==x[i+1][j])
                {
                    l++;
                }
                else
                {
                    h=l;
                    l=0;
                }
                if(h>k)
                {
                    k=h;
                    N=j;
                }
            }
 }
 
 if(0!=k)
 {
  cout<<"\n\n2. Nomer stolbca: "<<(N+1);
 }
 else
 {
  cout<<"\n\n2. Net podhodyashih stolbcov";
 }
 
 
 
 
    cin.get();
    cin.get();
 
}


Но у преподавателя, глядя на этот код, сразу встал вопрос, где же счетчик строк, в котором есть нулевые элементы ( по заданию ).
Вот именно та часть кода, вызывающая у меня недоумение, хотя все работает исправно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for(i=0;i<str;i++)
 {
    flag=false;
    for(j=0;j<stb;j++)
        {
            printf("%3d",x[i][j]=(rand()%10));
            if(0==x[i][j])
                {
                    flag=true;;
                }
        }
 
  printf("\n");
 
    if(flag==true)
        {
            l++;                //кол-во строк с 0
        }
 }
Естественно, я вижу, что это делается с помощью этих самых flag'оф, но не могли бы вы мне пожалуйста, объяснить это получше. В теоретичесокм плане, буду очень благодарен вам.
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru