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

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

Восстановить пароль Регистрация
 
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 22:43     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #1
Дана матрица. получить массив 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;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2014, 22:43     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена..
Посмотрите здесь:

C++ по возрастанию или убыванию упорядочена указанная строка двумерного массива
Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет C++
C++ [C++] Дана строка. Получить подстроку расположенную...
Дана целочисленная матрица [ai,j]i,j=1,...,n. Получить bi,...,bn C++
Дана действительная матрица размера n*m. Получить последовательность C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
18.01.2014, 22:51     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #2
Цитата Сообщение от Vegas_I Посмотреть сообщение
Вот код, проблема в том, что при вводе правильной строки(по убыванию элементы) выражение "k++" всё равно не выполняется.
И что? что можно сказать по этому огрызку "кода"? Научитесь для начала правильно ставить вопрос, а не заставлять людей выяснять у вас вашу же проблему
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
18.01.2014, 22:54     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #3
Цитата Сообщение от Vegas_I Посмотреть сообщение
if (k==m)
* * * * * * b[i]=1;
* * * * else b[i]=0;
C++
1
b[i] = (k==m);
Добавлено через 2 минуты
Не проще ли просто при проверке, если соседние элементы упорядочены по возрастанию, то устанавливать флаг на 0? А дальше делать проверку этого флага (до цикла инициализировать его 1). Если он остался равен 1 - все верно, последовательность упорядочена по убыванию. Если 0 - что-то её испортило.
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 22:55  [ТС]     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #4
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
b[i] = (k==m);
Что вы имеете ввиду?

Возможно, но я хочу понять почему мой способ не работает
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
18.01.2014, 22:55     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #5
Цитата Сообщение от Vegas_I Посмотреть сообщение
Что вы имеете ввиду?
что кусок выше, который я процитировал, можно с легкостью заменить на мою строку и смысл будет тот же.
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 23:03  [ТС]     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #6
Цитата Сообщение от MrGluck Посмотреть сообщение
что кусок выше, который я процитировал, можно с легкостью заменить на мою строку и смысл будет тот же.
Хорошо, ну а почему у меня не выполняется часть "k++"?
S_el
1906 / 1501 / 295
Регистрация: 15.12.2013
Сообщений: 5,912
18.01.2014, 23:12     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #7
Кидайте весь код.
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
18.01.2014, 23:24  [ТС]     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #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;
}
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.01.2014, 23:58     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #9
Цитата Сообщение от Vegas_I Посмотреть сообщение
scanf("%d", &umas2[i][j]);
для double следует использовать %lf
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 00:53     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена..
Еще ссылки по теме:

Дана квадратная матрица порядка n. Получить матрицу A^2 C++
Получить массив B, присвоив его k-му элементу 1, если элементы k-й строки матрицы упорядочены по убыванию C++
C++ Проверить упорядочена ли строка по убыванию (матрица)

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

Или воспользуйтесь поиском по форуму:
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
19.01.2014, 00:53  [ТС]     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена.. #10
Цитата Сообщение от Tulosba Посмотреть сообщение
для double следует использовать %lf
Точно. Такую мелочь не заметил)) Спасибо большое!!
Yandex
Объявления
19.01.2014, 00:53     Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена..
Ответ Создать тему
Опции темы

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