|
|
|
|
|
|
|
Вернуться
| 1 Прищенко Богдан Олегович, 08 мая 2009 г. 14:22:47 | |
Моя решает - написал на локалке варианты на Паскале и С++. Но сюда не хочу выкладывать - если человеку нужна суть, то он и так поймет с моего предидущего поста, если же это студент, не вьезжающий в программирование - пусть учит сам, или же ищет других помощников:) // я просто не вижу необходимости менять строки. Лишний код,утрудняет понимание для новичков. При таких ограничениях просто проверка вывода без обмена не убьет програму:)
|
|
|
| 2 Ладик Артём на C++, 07 мая 2009 г. 21:55:10 | |
в этой теме все пытаются почемуто написать перестановку только 1вого и последнего столбца, но в условии, то ясно сказано получить новую таблице из старой по заданой перестановки столбцов. те есть какойе-то q-количество перестановок а дальше идут k11 k21 k21 k22 k31 k32 ---------- kq1 k12 те сами перестановки, моя программа и решает эту задачу, только надо цикл добавить, а ваши все нет, они меняют только первый и последний!!!!! не понимаю почему вы вообще предлагаете текие решения!!!!
|
|
|
| 3 Баширов Аслан Афкиф-Оглы, 07 мая 2009 г. 18:14:21 | |
А вот мое решение: const n=3; m=4; type mas=array[1..m,1..n]of integer; var i,j,t,temp:integer; a:mas; f,f1:text; begin assign(f,'input.txt'); assign(f1,'output.txt'); reset(f); rewrite(f1); for i:=1 to n do for j:=1 to n do read(f,a[i,j]); {_____________________obrabotka______________} {___________________edn_____________________} for i:=1 to m do begin temp:=a[i,1]; a[i,1]:=a[i,n]; temp:=a[i,n]; end; for i:=1 to m do begin for j:=1 to n do write(f1,a[i,j]:6); writeln; end; close(f); close(f1); end.
|
|
|
| 4 Ладик Артём на C++, 05 мая 2009 г. 22:42:43 | |
короче InPutData(); ввод данных из фаила input.txt Swap(k1,k2); меняет столбец k1 со столбцом k2 OutPutData(); вввод данных из фаила output.txt
|
|
|
| 5 Ладик Артём на C++, 05 мая 2009 г. 22:39:49 | |
пологаю это то что хотел автор темы #include <stdio.h> long n=6,m=9,a[7][10]; void InPutData() { long i,j; freopen("input.txt","r",stdin); for(i=1;i<=n;i++) for(j=1;j<=m;j++) scanf("%ld",&a[i][j]); } void Swap(long j1,long j2) { long i,tmp; for(i=1;i<=n;i++) { tmp=a[i][j1]; a[i][j1]=a[i][j2]; a[i][j2]=tmp; } } void OutPutData() { long i,j; freopen("output.txt","w",stdout); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) printf("%ld ",a[i][j]); printf("\n"); } } int main() { InPutData(); Swap(1,9); Swap(2,8); OutPutData(); return 0; }
|
|
|
| 6 Мехрдод ТРГИ [9"А" team], 05 мая 2009 г. 22:00:57 | |
|
мне кажется тут просто нада делать так: начинать цикл вывода с 2 и потом в конце выводить 1 столбец это получается мы переставили. for(i=1;i<=n;i=i+1) for (j=2;j<=n;j++) вывод a[i][j]; for (i=1;i<=n;i++) вывод a[i][1]!(в пред сообщении вышла описка) если я верно понял условие то как то так
|
|
|
| 7 Мехрдод ТРГИ [9"А" team], 05 мая 2009 г. 21:55:55 | |
|
мне кажется тут просто нада делать так: начинать цикл вывода с 2 и потом в конце выводить 1 столбец это получается мы переставили. for(i=1;i<=n;i=i+1) for (j=2;j<=n;j++) вывод a[i][j]; for (i=1;i<=n;i++) вывод a[i][2]! если я верно понял условие то как то так
|
|
|
| 8 Прищенко Богдан Олегович, 05 мая 2009 г. 20:48:53 | |
|
Если так, то просто сделать вывод с подусловием:) выводим исходную матрицу с условием, что если столбец даного елемента равен столбцу для изменения, то выводить елемент, который на позиции "с которой надо поменять". Ну и, соответственно, наоборот:)
|
|
|
| 9 Беляев Сергей Николаевич, 05 мая 2009 г. 20:37:09 | |
|
Полагаю, что в задаче нужно было поменять 2 столбца местами. Если так, то это очень простая задача.
|
|
|
| 10 Прищенко Богдан Олегович, 05 мая 2009 г. 20:12:15 | |
|
?? Матрицу, получающуюся после перестановки столбцов? матрицу перестановок? Криво условие написал:) :) (подозреваю, что человеку задали это сделать, и он решил нас напрячь, но условие все же хотелось бы увидеть)
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |