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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2014, 12:02   #1
Радик29
Пользователь
 
Регистрация: 26.12.2012
Сообщений: 90
По умолчанию Перестановка строк в массиве

Задача: Составить программу перестановки строк квадратной матрицы.
У меня программа работает неправильно, код ниже. Язык C++. Кто нибудь может мне помочь?
Код:
# include <iostream.h>
# include <math.h>
# include <stdio.h>
int main()
{
int i=100,j=100,buf=0;
float n,m,mas[100][100];
cout<<"Vvedite stroky massiva: ";
cin>>n;
cout<<"Vvedite stolves massiva: ";
cin>>m;
for(j=0;j<m;j++)
for(i=0;i<n;i++)
{
buf=mas[i][j];
mas[i][j]=mas[i][j+1];
mas[i][j+1]=buf;
}

for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
 {
   cout << mas[i][j]<< " ";
 }
}
cout <<"\n Rezyltat vipolnenia=";
cin>>mas[i][j];
}
Радик29 вне форума Ответить с цитированием
Старый 23.05.2014, 21:04   #2
Радик29
Пользователь
 
Регистрация: 26.12.2012
Сообщений: 90
По умолчанию

Кто нибудь сможет мне помочь?
Радик29 вне форума Ответить с цитированием
Старый 24.05.2014, 03:10   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, массив нужно предварительно заполнить.

во-вторых, квадратный массив - это массив размером N x N

в-третьих, что значит "переставить"?!
еот, допустим, Вы ввели N=6
и ввели такой массив:
Код:
1  2  3  4  5  6
11 12 13 14 15 16
21 22 23 24 25 26
41 42 43 44 45 46
61 62 63 64 65 66
71 72 73 74 75 76
как (и почему) он будет выглядеть после перестановки?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.05.2014, 08:33   #4
Радик29
Пользователь
 
Регистрация: 26.12.2012
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
во-первых, массив нужно предварительно заполнить.
массив заполняем вручную, ее не надо заполнять в коде

Цитата:
в-третьих, что значит "переставить"?!
как (и почему) он будет выглядеть после перестановки?!
переставить, т.е. допустим менять первую и последную строки, или сортировать по возрастанию(сумма чисел в строке).
Радик29 вне форума Ответить с цитированием
Старый 24.05.2014, 18:38   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Радик29 Посмотреть сообщение
массив заполняем вручную, ее не надо заполнять в коде
Вы шутите?! Вы это делаете телепатически, усилием воли?
Так Вам с этим трюком надо в шоу выступать!

Поясню.
Вы вводите размерность массива:
Цитата:
Код:
float n,m,mas[100][100];
cout<<"Vvedite stroky massiva: ";
cin>>n;
cout<<"Vvedite stolves massiva: ";
cin>>m;
хорошо. ввели n и m
(хотя m вводить нельзя, потому как массив квадратный, ну да ладно..)
и оп-па:
Цитата:
Код:
or(j=0;j<m;j++)
for(i=0;i<n;i++)
{
  buf=mas[i][j];
...
начали что из массива mas читать, перемешивать.
А Вы туда что-нибудь записали, чтобы оттуда брать?!
Очевидно, что нет!


Цитата:
Сообщение от Радик29 Посмотреть сообщение
переставить, т.е. допустим менять первую и последную строки, или сортировать по возрастанию(сумма чисел в строке).
допустим?!! Т.е. Вам всё равно, да?!
переставить первую и последнюю строки можно так:
Код:
for(j=0;j<n;j++)
{
  buf=mas[0][j];
  mas[0][j] = mas[n-1][j];
  mas[n-1][j] = buf;
}


p.s. И поймите, что для разных задача перестановки - код программы будет РАЗНЫЙ, в зависимости от того, куда и что переставлять, писать команды в коде надо разные.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.05.2014, 23:26   #6
Радик29
Пользователь
 
Регистрация: 26.12.2012
Сообщений: 90
По умолчанию

не буду спорить..напишите как следует правильно код ))
Радик29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестановка строк AK55 C# (си шарп) 0 09.01.2014 15:26
Перестановка строк в двухмерном массиве GoldSieg Паскаль, Turbo Pascal, PascalABC.NET 4 10.11.2011 13:38
Перестановка в 1-ом массиве bles Паскаль, Turbo Pascal, PascalABC.NET 2 04.06.2010 16:06
Перестановка чисел в массиве в обратном порядке Student117 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 22.10.2009 06:14
Перестановка строк матрице gotex Помощь студентам 1 24.11.2008 20:40