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

Обработка матрицы - C++

Восстановить пароль Регистрация
 
Ergalym
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 5
07.04.2016, 09:22     Обработка матрицы #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
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
#include <iostream> 
#include <conio.h> 
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    cout << "\t Лабораторная работа №7 \n" << endl;
    cout << "\t Выполнил студент группы ПС-15-4 Багдаулет Ергалым \n" << endl;
    cout << "\t Тема: Работа с двумерными массивами \n" << endl;
 
const int N=20;
const int M=20;
 
int main();
{
setlocale (LC_ALL, "Russian");
double a[N][M];
int i, j, b, c;
int k=0;
int n=0;
 
cout<<"Введите размер массива"<<endl;
cout<<"Количество строк = ";
cin>>b;
cout<<"Количество столбцов = ";
cin>>c;
cout<<"Введите элементы массива"<<endl;
for (i=0; i<b; i++)
{
for (j=0; j<c; j++)
{
cout<<"a["<<j<<","<<i<<"]=";
cin>>a[i][j];
}
cout<<endl;
}
for (i=0; i<b; i++) 
{
for (j=0; j<c; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<endl;
for (i=0; i<b; i++)
for (j=0; j<c; j++)
 
if (a[i][j]==0)
{
k++;
i++;
}
cout<<"Количество строк с нулевым элементом ="<<k<<endl;
int nom = 0;
for (j = 0; j<c; j++)
{
 
if (a[i][j] == a[i][j + 1])
{
nom++;
cout << "номер столбца = " << nom << endl;
k++;
break;
}
if (k != 0)
break;
}
 
_getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2016, 09:22     Обработка матрицы
Посмотрите здесь:

Обработка матрицы C++
C++ Обработка матрицы
C++ Обработка матрицы
Обработка матрицы C++
Обработка матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
07.04.2016, 09:36     Обработка матрицы #2
Цитата Сообщение от Ergalym Посмотреть сообщение
студент группы ПС-15-4 Багдаулет Ергалым
, где задание то ? и форматировать нужно было по человечески, что бы читать было удобно ...
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,168
Завершенные тесты: 1
07.04.2016, 09:44     Обработка матрицы #3
Цитата Сообщение от Ergalym Посмотреть сообщение
int main();
Это локальное объявление функции main.

В целом, еще море мелких ошибок
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
#include <iostream> 
#include <conio.h> 
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    cout << "\t Лабораторная работа №7 \n" << endl;
    cout << "\t Выполнил студент группы ПС-15-4 Багдаулет Ергалым \n" << endl;
    cout << "\t Тема: Работа с двумерными массивами \n" << endl;
 
    const int N=20;
    const int M=20;
 
    double a[N][M];
    int i, j, b, c;
//  int n=0;
 
    cout<<"Введите размер массива"<<endl;
    cout<<"Количество строк = ";
    cin>>b;
    cout<<"Количество столбцов = ";
    cin>>c;
    cout<<"Введите элементы массива"<<endl;
    for (i=0; i<b; i++)
    {
        for (j=0; j<c; j++)
        {
            cout<<"a["<<j<<","<<i<<"]=";
            cin>>a[i][j];
        }
        cout<<endl;
    }
    for (i=0; i<b; i++) 
    {
        for (j=0; j<c; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    cout<<endl;
    int k=0;
    for (i=0; i<b; i++)
    {
        for (j=0; j<c; j++)
            if (a[i][j]==0)
            {
                k++;
                break; //   было i++;
            }
    }
    cout<<"Количество строк с нулевым элементом ="<<k<<endl;
    int nom = 0;
    for (j = 0; j<c-1; j++) // было j<c
    {
        bool k=false;
        for (i=0; i<b; i++)  // эта строка добавлена
        {
            if (a[i][j] == a[i][j + 1])
            {
                    //nom++;
                    cout << "номер первого столбца у которого значение элемента равно соседнему = " << j << endl;
                    k=true;
                    break;
            }
        }
        if (k)
            break;
    }
 
    _getch();
    return 0;
}
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
07.04.2016, 09:45     Обработка матрицы #4
не уверен, что логика ваша такая, но все же так понятнее ...
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
#include <iostream>
#include <conio.h>
using namespace std;
const int N=20;
const int M=20;
int main()
{
    double a[N][M];
    int k, n, b, c;
    cout<<"Введите размер массива"<<endl<<"Количество строк = ";
    cin>>b;
    cout<<"Количество столбцов = ";
    cin>>c;
    cout<<"Введите элементы массива"<<endl;
    for (int i=0; i<b; i++){
        for (int j=0; j<c; j++){
            cout<<"a["<<j<<","<<i<<"]=";
            cin>>a[i][j];
        }
    }
    for (int i=0; i<b; i++){
        for (int j=0; j<c; j++){
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl;
    for (int i=0; i<b; i++){
        for (int j=0; j<c; j++){
            if (a[i][j]==0){
                k++;
                //i++; << зачем это ?
            }
        }
 
        cout<<"Количество строк с нулевым элементом ="<<k<<endl;
        int nom = 0;
 
        for (int j = 0; j<c; j++){
            if (a[i][j] == a[i][j + 1]){
            nom++;
            cout << "номер столбца = " << nom << endl;
            k++;
            break;
            }
        }
        if (k != 0){
        break;
        }
    }
    system("pause");
    return 0;
}
Yandex
Объявления
07.04.2016, 09:45     Обработка матрицы
Ответ Создать тему
Опции темы

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