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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 13:53   #1
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию c++ сортировка матрицы

делаю лабу по инфе на матрицы язык c++
в задании:
в целочисленной матрице определить количество столбцов,не содержащих ни 1 нулевого элемента

это первое,с этим справился
а вот со вторым проблема:
характеристикой строки матрицы назовем сумму ее положительных элементов. Переставляя строки заданной матрицы расположить их в соответствии с ростом характеристики

вот программа

Код:
#include<iostream>
using namespace std;
#include<iomanip>
#include<stdlib.h>
int main()
{
const int row=5;
const int col=5;
int mas[row][col];
int mass[row][2];
int masss[row][col];
int i,j,k(0),s;
for (i=0;i<row;i++)
{for(j=0;j<col;j++)
{mas[i][j]=rand()%20-10;
cout<<setw(3)<<mas[i][j]<<" ";}
cout<<endl;
}
for(j=0;j<col;j++)
for(i=0;i<row;i++)
if(mas[i][j]=0){k++;break;}
cout<<endl;
cout<<setw(5)<<col-k<<endl;
cout<<endl;
for(i=0;i<row;i++)
{s=0;
for(j=0;j<col;j++)
if(mas[i][j]>0)s+=mas[i][j];
mass[i][0]=s;
mass[i][1]=i;
}
for (i=0;i<row;i++)
{for (j=0;j<2;j++)
cout<<setw(3)<<mass[i][j]<<" ";
cout<<endl;
}
for(i=0;i<row;i++)
{int imin=i;
for(j=i+1;j<row;j++)
if(mass[j][0]<mass[i][0])imin=j;
int a=mass[i][0];
int b=mass[i][1];
mass[i][0]=mass[imin][0];
mass[i][1]=mass[imin][1];
mass[imin][0]=a;
mass[imin][1]=b;
}
for(i=0;i<row;i++)
for(j=0;j<col;j++)
masss[i][j]=mas[mass[i][1]][j];
for (i=0;i<row;i++)
{for (j=0;j<col;j++)
cout<<setw(3)<<masss[i][j]<<" ";
cout<<endl;
}
return 0;
}
для начала не работает хпоиск характеристики строки,сумма во всех случаях равна 1 числу -8.........
не понимаю в чем дело вроде все элементарно

Последний раз редактировалось Stilet; 15.05.2009 в 14:23.
Aion вне форума Ответить с цитированием
Старый 15.05.2009, 14:18   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Смотрим внимательно на строку if(mas[i][j]=0){k++;break;}
Ничего не замечаешь?
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 15.05.2009, 14:21   #3
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию

эмм он что,из программы тупо выходит?
Aion вне форума Ответить с цитированием
Старый 15.05.2009, 14:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Из цикла если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2009, 14:25   #5
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

нет же.. в if... в условие...

Код:
mas[i][j]=0
ну же))) это же просто)) хочу чтобы сам догадался, потому что очень частая ошибка.. лучше сразу понять..
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 15.05.2009, 14:25   #6
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию

ну дак это совсем другой цикл,он считает кол-во столбцов не содержащих нулевые эл-ты
Aion вне форума Ответить с цитированием
Старый 15.05.2009, 14:25   #7
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию

аааа == должно быть
Aion вне форума Ответить с цитированием
Старый 15.05.2009, 14:26   #8
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию

разве это сильно чего меняет?
или он всем элементам нули присваевает? :D
Aion вне форума Ответить с цитированием
Старый 15.05.2009, 14:27   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

именно так))) в твоем варианте просто обнуляются элементы))
Конечно меняет.. у тебя в итоге получается массив нулей))) соответственно дальнейшие операции с ним бессмысленны
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 15.05.2009, 14:30   #10
Aion
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 16
По умолчанию

аааа черт)))) спасибо)))
ща си докачаю и проверю
а дальше,на глаз правильно?
Aion вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка матрицы по спирали {pascal} Влдислаав3911 Помощь студентам 3 10.04.2012 22:05
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
сортировка строк матрицы aurora_87 Общие вопросы C/C++ 3 23.04.2009 12:29
сортировка стоблцов матрицы по убыванию сумм их элементов rev1ver Паскаль, Turbo Pascal, PascalABC.NET 6 14.01.2009 19:18