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

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

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

Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. - C++

18.01.2014, 22:43. Просмотров 744. Ответов 9
Метки нет (Все метки)

Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена по убыванию и 0 - в противном случае.
Вот код, проблема в том, что при вводе правильной строки(по убыванию элементы) выражение "k++" всё равно не выполняется.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (i=0;i<n;i++)
    {
        k=1;
        for(j=1;j<m;j++)
        {
            if (umas2[i][j-1]>umas2[i][j])
            {
                k++;
            }
        }
        if (k==m)
            b[i]=1;
        else b[i]=0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2014, 22:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. (C++):

Получить массив B, присвоив его k-му элементу значение 0 - C++
Написать программу через указатели.Задана матрица размером N×M, N,M&lt;50. Получить массив B, присвоив его k-му элементу значение 0, если все...

Получить массив B, присвоив его k-му элементу 1, если элементы k-й строки матрицы упорядочены по убыванию - C++
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по...

Получить массив, присвоив его k-му элементу значение 1 или 0 в зависимости от упорядоченности k-й строки - C++
Понять не могу , ребят испробовал свой бред , дальше не могу . Помогите пожалуйста :) Задана матрица размером NxM. Получить массив B,...

Проверить упорядочена ли строка по убыванию (матрица) - C++
Должна возвратить строку, которая упорядочена по убыванию, не пойму в чем прокол. int MyMatrixFuncs::SortedLine(int** a, int N, int M)...

Последовательность упорядочена (не упорядочена) по возрастанию и упорядочена (не упорядочена) по убыванию - C++
Всем доброго времени суток! Очень прошу помочь написать правильно решение задачи. Пользователь вводит положительное число. Нужно...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

9
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
18.01.2014, 22:51 #2
Цитата Сообщение от Vegas_I Посмотреть сообщение
Вот код, проблема в том, что при вводе правильной строки(по убыванию элементы) выражение "k++" всё равно не выполняется.
И что? что можно сказать по этому огрызку "кода"? Научитесь для начала правильно ставить вопрос, а не заставлять людей выяснять у вас вашу же проблему
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
18.01.2014, 22:54 #3
Цитата Сообщение от Vegas_I Посмотреть сообщение
if (k==m)
* * * * * * b[i]=1;
* * * * else b[i]=0;
C++
1
b[i] = (k==m);
Добавлено через 2 минуты
Не проще ли просто при проверке, если соседние элементы упорядочены по возрастанию, то устанавливать флаг на 0? А дальше делать проверку этого флага (до цикла инициализировать его 1). Если он остался равен 1 - все верно, последовательность упорядочена по убыванию. Если 0 - что-то её испортило.
1
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 22:55  [ТС] #4
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
b[i] = (k==m);
Что вы имеете ввиду?

Возможно, но я хочу понять почему мой способ не работает
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
18.01.2014, 22:55 #5
Цитата Сообщение от Vegas_I Посмотреть сообщение
Что вы имеете ввиду?
что кусок выше, который я процитировал, можно с легкостью заменить на мою строку и смысл будет тот же.
1
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 23:03  [ТС] #6
Цитата Сообщение от MrGluck Посмотреть сообщение
что кусок выше, который я процитировал, можно с легкостью заменить на мою строку и смысл будет тот же.
Хорошо, ну а почему у меня не выполняется часть "k++"?
0
S_el
2112 / 1632 / 308
Регистрация: 15.12.2013
Сообщений: 6,574
18.01.2014, 23:12 #7
Кидайте весь код.
0
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 23:24  [ТС] #8
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
#include <iostream>
#include <stdio.h>
using namespace std;
int main ()
{
    int i, j, n, m, k;
 
    printf("Vvedite razmer massiva (n:m): \n");
    scanf("%d%d",&n,&m);
 
    double **umas2;
    umas2= new double*[n];
    for (i=0;i<n;i++)
        umas2[i]=new double[m];
 
    for (i=0;i<n;i++)
        for(j=0;j<m;j++)
        { 
            printf("Vvedite element [%d][%d]:\n", i, j);
            scanf("%d", &umas2[i][j]);
        }
 
    int *b=new int[n];
 
    for (i=0;i<n;i++)
    {
        k=1;
        for(j=1;j<m;j++)
        {
            if (umas2[i][j-1]>umas2[i][j])
                k++;
        }
        if (k==m)
            b[i]=1;
        else b[i]=0;
    }
 
      for(i=0;i<n;i++)
          printf("%d  ",b[i]);
 
          for(i=0;i<n;i++)
              delete []umas2[i];
      delete []umas2;
      umas2=NULL;
 
       delete []b;
 
return 0;
}
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.01.2014, 23:58 #9
Цитата Сообщение от Vegas_I Посмотреть сообщение
scanf("%d", &umas2[i][j]);
для double следует использовать %lf
1
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
19.01.2014, 00:53  [ТС] #10
Цитата Сообщение от Tulosba Посмотреть сообщение
для double следует использовать %lf
Точно. Такую мелочь не заметил)) Спасибо большое!!
0
19.01.2014, 00:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 00:53
Привет! Вот еще темы с ответами:

Дана целочисленная квадратная матрица А. Получить массив В, элементами которого являются суммы знач - C++
Дана целочисленная квадратная матрица А. Получить массив В, элементами которого являются суммы значений элементов строк матрицы А,...

Дана целочисленная матрица A(N,M) (N,M<=10). Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1, если k-я строка матрицы - C (СИ)
Дана целочисленная матрица A(N,M) (N,M&lt;=10). Построить по ней целочисленный массив В, присвоив его k-y элементу значение 1, если k-я...

Получить массив B, присвоив его k-му элементу значение 1, если k-ая строка матрицы симметрична - Delphi
HELP .Задана матрица размером . Получить массив B, присвоив его k-му элементу значение 1, если k-ая строка матрицы симметрична, и значение...

Получить массив B, присвоив его k-му элементу значение 1, если k-ая строка матрицы симметрична - Turbo Pascal
Должна быть решена с использованием динамического массива. Программа должна обеспечивать возможность ввода данных как из файла , так и с...


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

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

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