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

Небольшая недоработка в программе - C++

Восстановить пароль Регистрация
 
Neizvesniy
1 / 1 / 0
Регистрация: 19.11.2012
Сообщений: 39
19.11.2012, 14:14     Небольшая недоработка в программе #1
Задача была написать программу, которая читает введенную матрицу, делает проверку значений на четность и положительность. Если условия выполняются, то идет умножение на 2. По задаче если хоть один элемент изменен, то прога должна написать "true". Если же ни один элемент не подходит под условие, то вывод "false". Сама программа работает, но проблема в том, что проверка идет только по последнему элементу ([4][3]). Лабу то сдать я смогу, но как-то совестно, недоработка все-таки)) Кому не влом, помогите новичку.

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
82
83
84
85
86
87
88
89
90
#include "stdafx.h"
#include <cmath>
#include <iostream>
using namespace std;
 
int const m=5;
int const n=4;
bool condition;
int array [m][n];
 
void Func1 (int a[m][n])
{
    int i, j;
    for (i=0; i<m ;i++)
    {
        for (j=0; j<n; j++)
        {
            if ((a[i][j] > 0) && (a[i][j]%2 == 0)) 
            {
                a[i][j] = a[i][j]*2;
                condition = true;
            }
            else
            {
                condition = false;
            }
        }
    }
}
 
void Func2 (int a[m][n])
{
    cout << "Your array after transformation:" << endl;
    cout << endl;
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<n; j++)
            cout << a [i][j] << " ";
            cout << "\n";
    }
}
 
int main()
{
    int array [m][n];
    int i;
    int j;
 
    cout << "Enter array " << m << "x" << n << ":" << endl;
    cout << "Positive and uneven elements are going to be duplicated" << endl;
    cout << endl;
    for (i=0; i <m; i++)
    {
        for (j=0; j <n; j++)
        {
            cout << "Enter element ["<< i <<"] ["<< j <<"]:" << endl;
            cin >> array [ i ][ j ];
        }
    } 
    
    cout << endl;
 
    cout << "Your array:" << endl;
    for (i=0; i<m; i++)
    {
        for (j=0; j<n; j++)
            cout << array [i][j] << " ";
            cout << "\n";
    }
 
    Func1 (array);
    system ("pause");
 
    cout << endl;
 
    if (condition == true)
    {
        cout << "Conditions complied (TRUE)" << endl;
        cout << endl;
        Func2 (array);
    }
    else 
    {
        cout << "Conditions are not complied (FALSE)" << endl;
        cout << endl;
    }
 
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 14:14     Небольшая недоработка в программе
Посмотрите здесь:

C++ Небольшая помощь
недоработка С++ или ошибочная логика C++
Небольшая праблемка C++
C++ Небольшая проблемка)
C++ Небольшая задачка
Небольшая ошибка в программе C++
Недоработка в компиляторе Visual Studio. <iso646.h>/<ciso646> C++
Небольшая корректировка вывода в программе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
19.11.2012, 15:57     Небольшая недоработка в программе #2
int array [m][n]; нельзя так писать. Пишите arr[m][n] У меня все считает корректно.

Соответственно и в ф-цию передавайте значение не Func1 (array); а Func1 (arr);
Yandex
Объявления
19.11.2012, 15:57     Небольшая недоработка в программе
Ответ Создать тему
Опции темы

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