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

Программа на матрицы с использованием функций - C++

Восстановить пароль Регистрация
 
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
15.01.2012, 13:37     Программа на матрицы с использованием функций #1
Имеется след. задача:
Даны 2 матрицы(a размером N*M и b размером K*M). Нужно распечатать те, у которых макс элемент среди всех строк, которые упорядочены(или по возр или по убыв), содержит нечётное кол-во цифр.
В программе описать:
-функции проверки вектора на упорядоченность
-функцию, которая для числа n возвращает кол-во цифр
-функцию, которая находит макс элемент матрицы среди упорядоченных строк
(матрица статическая)
Пробовал написать но VC выдаёт ошибку при запуске(см. ниже)
Буду очень благодарен любой помощи по написанию программы и устранению ошибок.
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
#include<iostream>
using namespace std;
const int N=3,K=2;
const int M=5;
//проверка вектора на упоряд по возрастанию
bool OnInc(int *a, int n);
//проверка вектора на упоряд по убыванию
bool OnDec(int *a, int n);
//проверка вектора на упорядоченность(любую)
bool OrdCheck(int n,int a[][M]);
//подсчёт кол-ва цифр в числе и проверка полученного значения на нечётность
bool OpDig(int n);
//поиск макс элемента в матрице
int MaxInMatrix(int n,int a[][M]);
int  main()
{   int a[N][M],b[K][M],i,j,d;
    bool
    printf("Enter a:\n");
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<K;i++)
        for(j=0;j<M;j++)
            scanf("%d",&b[i][j]);
    if(OrdCheck(N,a)) 
    {   if(OpDig(MaxInMatrix(N,a)))
        {   for(i=0;i<N;i++)
                for(j=0;j<M;j++)
                    printf("%5d",a[i][j]);//error C2064: term does not evaluate to a function taking 2 arguments
        }
    }
    else printf("no sortin strings in matrix 'a'\n");//error C2064: term does not evaluate to a function taking 1 arguments
    if(OrdCheck(K,b)) 
    {   if(OpDig(MaxInMatrix(K,a)))
        {   for(i=0;i<K;i++)
                for(j=0;j<M;j++)
                    printf("%5d",b[i][j]);//error C2064: term does not evaluate to a function taking 2 arguments
        }
    }
    else printf("no sortin strings in matrix 'b'\n");//error C2064: term does not evaluate to a function taking 1 arguments
    return 0;
}
bool OnInc(int *a, int n)
{   int i;
    for(i=0;i<n-1;i++)
    if(a[i]>a[i+1])return false;
    return true;
}
bool OnDec(int *a, int n)
{   int i;
    for(i=0;i<n-1;i++)
        if(a[i+1]>a[i])return false;
    return true;
}
bool OrdCheck(int n,int a[][M])
{   int i;
    for(i=0;i<n;i++)
        if(OnInc(a[i],M)||OnDec(a[i],M)) return true;
    return false;
}   
bool OpDig(int n)   
{   int count;
    while(n>0)
    {   n/=10;
        count++;
    }
    if(count%2!=0)return true;
    else return false;
}   
int MaxInMatrix(int n,int a[][M])
{   int i,max,Rmax;
    for(i=0;i<n;i++)
    {   if(OnInc(a[i],M))max=a[i][M-1];
        else if(OnDec(a[i],M))max=a[i][0];
        if(Rmax<max)Rmax=max;
    }
    return Rmax;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2012, 13:37     Программа на матрицы с использованием функций
Посмотрите здесь:

Программа с использованием процедур и функций[C++ 4.5] C++
программа с использованием символьных функций C++
программа на языке с++ с использованием функций C++
C++ программа с использованием функций, не возвращающих значения
Программа с использованием функций работы над строками C++
Программа с использованием функций C++
C++ Умножение матрицы на вектор с использованием функций
нужна полностью работающая программа с использованием функций C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,226
15.01.2012, 16:34     Программа на матрицы с использованием функций #2
17 строка:
C++
1
        bool
вероятно пропущенна переменная или 17 строка лишняя.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
15.01.2012, 17:16     Программа на матрицы с использованием функций #3
62 строка, неинициализирована count
надо count=0;
71 строка неинициализированы Rmax и max, надо добавить
Rmax=max=a[0][0];
Yandex
Объявления
15.01.2012, 17:16     Программа на матрицы с использованием функций
Ответ Создать тему
Опции темы

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