Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 16:57   #1
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию целочисленная матрица - C++

дана целочисленная матрица порядка n на m.
Определить ,упорядочены ли по убыванию элементы k-ой строки.
Код:
#include "stdafx.h"
#include "iostream"
#include "time.h"
using namespace std;

int main()
{
	int k;
	cin >> k;
	int a[10][9];
	srand(time(0));
	for (int i = 0; i < 10; i++)
		for (int j = 0; j < 9; j++)
			a[i][j] = rand() % 10;
	for (int j = 0; j < 9; j++)
		if (a[k][j]>a[k][j+1])
			cout << "uporyadochen";
		else
			break;
	

    return 0;
}
что в ней нужно исправить?
fr0st1k123 вне форума Ответить с цитированием
Старый 18.11.2015, 17:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int b=1;
	for (int j = 0; j < 9; j++)
		if (a[k][j]>a[k][j+1]){b=0; break;}
			cout << (b)?"uporyadochen":"Nea";
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2015, 17:20   #3
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
int b=1;
	for (int j = 0; j < 9; j++)
		if (a[k][j]>a[k][j+1]){b=0; break;}
			cout << (b)?"uporyadochen":"Nea";
Годится?
за что отвечает b ?
fr0st1k123 вне форума Ответить с цитированием
Старый 18.11.2015, 17:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это флаг выполнения условия твоей задачи т.е. 0 получает если неупорядоченность обнаружена.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2015, 17:50   #5
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это флаг выполнения условия твоей задачи т.е. 0 получает если неупорядоченность обнаружена.
при вводе k постоянно выводит 0
fr0st1k123 вне форума Ответить с цитированием
Старый 18.11.2015, 19:42   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А так?:
Код:
if(b) cout<<"uporyadochen"; else cout<<"Nea";
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2015, 19:47   #7
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А так?:
Код:
if(b) cout<<"uporyadochen"; else cout<<"Nea";
постоянно "nea"
fr0st1k123 вне форума Ответить с цитированием
Старый 18.11.2015, 21:27   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну во-первых поставь j < 8, ибо у тебя там текущий с последующим сравнивается, а во-вторых - значит "Неа". Неупорядочено по убыванию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2015, 17:44   #9
fr0st1k123
Пользователь
 
Регистрация: 28.09.2015
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну во-первых поставь j < 8, ибо у тебя там текущий с последующим сравнивается, а во-вторых - значит "Неа". Неупорядочено по убыванию.
Код:
#include "stdafx.h"
#include "iostream"
#include "time.h"
using namespace std;

int main()
{
	int b = 1;
	int k;
	cout << "vvedite nomer stroki\n";
	cin >> k;
	int a[10][9];
	srand(time(0));
	for (int i = 0; i < 10; i++)
		for (int j = 0; j < 9; j++)
			a[i][j] = rand() % 10;
	for (int j = 0; j < 8; j++)
		if (a[k][j]>a[k][j + 1]) { b = 0; break; }
			if (b) cout << "da"<<" "; 
		else 
				cout << "Net\n"<<" ";
	for (int j = 0; j < 9; j++)
	cout << a[k][j]<<" ";
	

    return 0;
}
даже если строка упорядочена все равно выводит , что не упорядочена .

Последний раз редактировалось fr0st1k123; 19.11.2015 в 17:47.
fr0st1k123 вне форума Ответить с цитированием
Старый 19.11.2015, 19:26   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
даже если строка упорядочена все равно выводит , что не упорядочена .
Скриншот такой строки в студию.
Сомневаюсь, что у тебя упорядоченны строки по настоящему, поэтому могу порекомендовать вот такую проверку:
Код:
	int k;
	int a[10][10]={0};
	srand(time(0));
	for (int i = 0; i < 10; i++){
		for (int j = 0; j < 9; j++){
			cin>>a[i][j]
			if(j==0) a[i][9]=1; else if(a[i][j]<a[i][j - 1]) a[i][9]=0;
		}; cout<<endl;
	} cout<<endl;

	for (int i = 0; i < 10; i++){
		if(a[i][9]) {
			cout<<i<<" row is ordered: "; for (int j = 0; j < 9; j++) cout<<a[i][j]<<'\t';
		}  else {cout<<i<<" row no ordered";}
		cout<<endl;
	} cout<<endl;
I'm learning to live...

Последний раз редактировалось Stilet; 19.11.2015 в 19:35.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Целочисленная матрица russoof Общие вопросы C/C++ 10 10.12.2013 14:21
Целочисленная матрица StudentMarat Помощь студентам 1 17.10.2011 16:33
Целочисленная матрица новичок39 Помощь студентам 0 13.06.2011 19:35
Целочисленная матрица Alex Dentz Помощь студентам 3 30.11.2010 12:03
целочисленная матрица chillin Помощь студентам 1 03.05.2009 13:56