Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 27.10.2018, 21:18   #1
Umkass
Новичок
Джуниор
 
Регистрация: 27.10.2018
Сообщений: 10
Репутация: -7
По умолчанию Сортировка заданной строки в массиве.Помогите!

Код:
# include <iostream>
# include <cmath>
# include <iomanip>
using namespace std;
int main() {
setlocale(LC_ALL, "Rus");
int i, j, N;
int S;
cout << "Введите N=";
cin >> N;
int **mass = new int *[N];
cout << "Cтрока сортировки=";
cin >> S;
for (int i = 0; i < N; i++) {
mass[i] = new int[N];
}
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
mass[i][j] = rand() % N;
cout << setw(4) << mass[i][j];
}
cout << endl;
}
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (i == S - 1) {
if (mass[i][j] > mass[i][j + 1]) {
int t = mass[i][j + 1];
mass[i][j + 1] = mass[i][j];
mass[i][j] = t;
}
}
}
}
system("pause");
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
cout << setw(4) << mass[i][j];
}
cout << endl;
}
system("PAUSE");
return 0;
}
При сортировке почему то в строке последнее число исчезает и пишет -33686019. Что я сделал не так помогите
Umkass вне форума   Ответить с цитированием
Старый 27.10.2018, 21:53   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,689
Репутация: 2631
По умолчанию

Индекс j+1 при j = N-1 выходит за границы. И зачем вам второй цикл? У вас же один индекс строго фиксирован.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 27.10.2018, 22:10   #3
Umkass
Новичок
Джуниор
 
Регистрация: 27.10.2018
Сообщений: 10
Репутация: -7
По умолчанию

Я вас не очень понял.Что мне нужно изменить?
Umkass вне форума   Ответить с цитированием
Старый 27.10.2018, 22:19   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,689
Репутация: 2631
По умолчанию

Код:
for (j = 0; j < N; j++) {
if (i == S - 1) {
if (mass[i][j] > mass[i][j + 1]) {
На последней итерации, при j = N-1, у mass[i][j + 1] какие будут индексы? У вас есть такой элемент?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 27.10.2018, 22:36   #5
Umkass
Новичок
Джуниор
 
Регистрация: 27.10.2018
Сообщений: 10
Репутация: -7
По умолчанию

Спасибо
Umkass вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск заданной строки в массиве iqwinsa Общие вопросы C/C++ 0 10.10.2015 18:35
Сортировка в одномерном массиве lena-tus Помощь студентам 7 16.02.2013 21:56
Сортировка нужной строки в двухмерном массиве (Delphi) xEmpire Помощь студентам 2 19.12.2012 02:20
СОРТИРОВКа ИНФОРМАЦИИ В МАССИВЕ??? dozor Общие вопросы C/C++ 1 23.12.2009 11:39
сортировка в многомерном массиве LeoN PHP 8 03.06.2008 15:39


15:13.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.