С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
#1

Изменить программу (Вычислить сумму элементов в области) - C++

18.12.2012, 16:33. Просмотров 499. Ответов 14
Метки нет (Все метки)

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
#include<iostream>
#include<locale>
#define N 100
 
using namespace std;
 
void inMas1(int& n,int a[N][N])
{
    cout<<"\nВвод элементов матрицы A \n";
    for (int i=0; i<n; i++)      
        for (int j=0; j<n; j++)  
        {   
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];    
        }   
}
 
void outMas1(int n,int a[N][N])
{
    cout<<"\nВведена матрица A \n";
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
}
 
bool uslov (int n, int a[N][N])
//В каждом столбце все элементы на чётных местах нечётны.
{
    int k=0;
    for(int j=0; j<n; j++)      
    {
        
        for(int i=1; i<n; i+=2)
        {
            if(a[i][j]%2!=0);  
            else 
                return 0;
            }
    }
    return 1;
}
 
 
int Sum(int& n, int a[N][N])
{
    int s=0,i,j;
    for(int i=0;i<n;i++)
    {
        int j;
        if(i<(n/2)) j=n-i-1;
        else j=i;
        for(;j<n;j++)
    
}
    return s;
}
 
int main()
{
    setlocale (LC_ALL, "RUS");
    int i,j,n,m,a[N][N];
    cout<<"n="; 
    cin>>n;                                             
    inMas1(n,a);
    outMas1(n,a);
    if(uslov(n,a))
    {
        cout<<"\nМатрица верна. В столбцах на четных местах все элементы нечетны."<<endl;
        
    }
    else
  
        cout<<"\nМатрица не верна. "<<endl;
    cout<< sum(n,a);
    
        system("pause");
 
    return 0;
}
Условие задачи:В каждом столбце все элементы на чётных местах нечётны.Вычислить сумму элементов в области 4-5. Сейчас рограмма вычисляет в области 2-3. Ну и вопрос, как переделать?
___8_1
_7____2
_6____3
__4_5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменить программу (Вычислить сумму элементов в области) (C++):

Вычислить сумму элементов матрицы в заштрихованной области - C++
1) Вычислить сумму элементов матрицы в заштрихованной области. Уведення и вывод матрицы оформить в виде процедур. 2) Составить...

Вычислить сумму элементов в области 1-2 (Не работает программа) - C++
Дан двухмерный массив (вектор) n целых чисел. Ввод функцией void inMas1(int&amp; n,int a), вывод массива функцией void outMas1(int n,int a) ...

Вычислить сумму элементов матрицы в заштрихованной области - C++
Здравствуйте. У меня возникла проблема с программой. Я написал параграмму. Вот что получилось. #include &lt;iostream&gt; using namespace...

Динамический массив (составить программу, в которой вычислить сумму отрицательных элементов массива, расположенных под главной диагональю) - C++
Создать динамический массив указателей для сохранения двумерного массива А с N × N действительных чисел в динамической памяти. Составить...

Написать программу, которая создает двумерный массив со случайными числами A[N,M]. Вычислить сумму и число положительных элементов массива - C++
Написать программу, которая с помощью датчика случайных чисел создает двумерный массив A. Вычислить сумму и число положительных элементов...

Найти сумму элементов массива А с заштрихованной области - C++
Дана матрица А чисел размером 5х5 элементов. Найти сумму элементов массива А с заштрихованной области :

14
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 16:37 #2
Область 4-5 - это два соседних элемента?
0
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 16:57  [ТС] #3
v.a.l.i.d, Прикрепил ресунок, серым заштрихована область где программа вычисляет сейчас, красным - где требуется сделать.
0
Изображения
 
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 18:46  [ТС] #4
Условие
Дан двухмерный массив (вектор) n целых чисел.
Ввод функцией void inMas1(int& n,int a[N]), вывод массива функцией void outMas1(int n,int a[N])
Если условие выполнено (функция типа bool), то выполнить пребразование (функция типа void) и выполнить вычисление (функция типа int)
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:04 #5
Сейчас попробую сделать

Добавлено через 8 минут
вот сама функция которая проверяет условие

C++
1
2
3
4
5
6
7
8
9
10
bool uslov(int n, int a[N][N])
// true если в каждом столбце все элементы на чётных местах нечётные
{
    for (int x=0; x<N; x++)
        for (int y=0; y<N; y+=2)
            if (a[y][x] % 2 == 0)
                return false;       // условие нарушено. на четном месте четный элемент
 
    return true;                    // все OK
}
1
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 19:20  [ТС] #6
v.a.l.i.d, Тоесть надо заменить только функцию?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:24 #7
да, только эту функцию заменить и все
1
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 19:36  [ТС] #8
v.a.l.i.d,
Еще вопрос по сумме, она выводится в 77 строке
C++
1
cout<< sum(n,a);
Но почему -то программа выдает ошибку, правильно ли написан код? Изначально, сумма была в функции uslov, но требуется сделать отдельно
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:44 #9
Цитата Сообщение от s3423 Посмотреть сообщение
cout<< sum(n,a);
С большой буквы надо функцию писать. C++ различает регистр
C++
1
cout<< Sum(n,a);
Добавлено через 3 минуты
А сама функция Sum() неправильно написана. Она не считает сумму
Цитата Сообщение от s3423 Посмотреть сообщение
int Sum(int& n, int a[N][N])
{
* * int s=0,i,j;
* * for(int i=0;i<n;i++)
* * {
* * * * int j;
* * * * if(i<(n/2)) j=n-i-1;
* * * * else j=i;
* * * * for(;j<n;j++)
}
* * return s;
}
Всегда возвращает ноль.
1
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 19:46  [ТС] #10
v.a.l.i.d, А как сделать, чтобы считала?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 19:53 #11
s3423, Если честно, то я не совсем понял как должна сумма высчитываться. Матрица квадратная а рисунок круглый.
В нижней строке надо сумму найти?
0
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 20:00  [ТС] #12
v.a.l.i.d, Рисунок неправильный, он квадратный.
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 20:12 #13
C++
1
2
3
4
5
6
7
8
9
int Sum(int n, int a[N][N])
{
    int s = 0;
    
    for (int x=1; x<N-1; x++)
        s = s + a[N-1][x];
    
    return s;
}
Вроде правильно. Считает все элементы в последней строке кроме первого и последнего

Не по теме:

Если я правильно понял задание

0
s3423
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 31
18.12.2012, 20:14  [ТС] #14
v.a.l.i.d, Эту функцию добавить в программу?
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.12.2012, 20:21 #15
Не добавить а заменить. В 47 строке старую удалить а эту написать
1
18.12.2012, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 20:21
Привет! Вот еще темы с ответами:

Найти сумму элементов матрицы в заштрихованной области - C++
Найти сумму элементов матрицы в заштрихованной области.Ввод и вывод матрицы оформить в виде процедур. Заранее спасибо!

Найти сумму элементов матрицы расположенных в заштрихованной области - C++
Дана квадратная матрица порядка n. Найти сумму ее элементов, расположенных в заштрихованной области. Размер матрицы и ее элементы...

составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов - C++
составить программу,которая создает файл, состоящий из 10 значений типа int. прочитать файл и вычислить сумму его элементов

Вычислить среднее арифметическое сумм элементов матриц в заштрихованой области - C++
1. Для каждой из двух заданных матриц размером m на n найти максимальный по модулю элемент матрицы. Переставить строчки и столбцы каждой...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.