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

Не получается простенькая задача - C++

Восстановить пароль Регистрация
 
Динар19
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 13
22.07.2012, 11:22     Не получается простенькая задача #1
Условие
Дана целочисленная прямоугольная матрица.Определить:
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
#include<iostream>
using namespace std;
int main(){
           
           cout<<"Vvedite characteristiky massiva\n";
           int stk,stb;
           cout<<"Kolichestvo strok stk="; cin>>stk;
           cout<<"\nKolichestvo stolbtcov stb="; cin>>stb;
           int a[stk][stb];
           int i,j;
           cout<<"\nVvedite elementy massiva";
           for(i=1;i<=stk;i++){
             cout<<"\n";
             for(j=1;j<=stb;j++){cout<<"a["<<i<<"]["<<j<<"]"; cin>>a[i][j];};
             }
             int n=0,k=0,l=0;
             i=1;j=1;
           while(i<=stk){
                               while(j<=stb)  if (a[i][j]!=0) {k++; j++;} else j=stb;
                                              if (k==stk) n++; 
                                              i++;};
                                              
           int c[stk][stb];
            for(i=1;i<=stk;i++)
                for(j=1;j<=stb;j++) c[i][j]=a[i][j];
                     
            int b[l],max=1;
             for(i=1;i<=stk;i++)
                for(j=1;j<=stb;j++)
                     for(k=1;k<=stk;i++)
                         for(n=1;n<=stb;j++) if (c[i][j]==a[k][n]){ b[max]=c[i][j]; max++;};
            for(i=1,max=b[1];i=l;i++) if (b[i]>max) max=b[i];
            cout<<"Max="<<max;
                                              
           cout<<"\nKolichestvo strok ne soderzhachih null "<<n;
           system("pause");
            return 0;
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2012, 11:22     Не получается простенькая задача
Посмотрите здесь:

C++ Простенькая задача
Простенькая БД на С++ C++
Простенькая задача C++
Вывести все локальные максимумы массива C++
C++ Простенькая для вас задача посмотрите если не трудно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.07.2012, 11:50     Не получается простенькая задача #2
Такая тема была
и снова этот массив. двумерный.
Динар19
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 13
22.07.2012, 11:56  [ТС]     Не получается простенькая задача #3
Это, конечно, хорошо, но я только-только занялся программированием, и я не понимаю того что там написано. Мне бы попроще, с использованием самых примитивных средств, которые у меня есть в программе
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.07.2012, 12:05     Не получается простенькая задача #4
Посмотри внимательно, там и используются самые примитивные средства.

Добавлено через 4 минуты
С 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
#include <iostream> 
#include <iomanip>
using namespace std;
int main() 
{ 
    const int size = 4; 
    int matrix[size][size]; 
    int i, j;  
    int count = 0; 
    int zero = 0; 
 
    for ( i = 0; i < size; i++) 
        for ( j = 0; j < size; j++) 
        { 
            cout << "Vvedite element "<<"[" << i << "]" << "[" <<j<< "] "; 
            cin >> matrix[i][j]; 
        }  
 
        for ( i = 0; i < size; i++) 
            for ( j = 0; j < size; j++) 
            { 
                if(j % size == 0) 
                cout << endl; 
                cout << setw(3) << matrix[i][j]; 
            }   
            cout << endl;
 
            for ( i = 0; i < size; i++)  
            {
                for ( j = 0; j < size; j++)  
                    if(matrix[i][j] == 0) 
                        count++; 
 
                if( count == 0) 
                zero++;  
                count = 0;
            }  
 
            cout << "Strrok bes nuley " << zero << endl;
 
}
Yandex
Объявления
22.07.2012, 12:05     Не получается простенькая задача
Ответ Создать тему
Опции темы

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