| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Действия над прямоугольной матрицей |
| Автор: Winterlord 12.12.2008, 00:47 |
| Здравствуйте уважаемые программисты. Помогите решить задачку или натолкнуть на правильный алгоритм. Задана прямоугольная матрица B размера mxn. Выполнить над B действия: Найти суммы элементов строк и столбцов, на пересечении которых лежат отрицательные элементы. По идее должен быть входной файл, в котором мы сможем вводить любую прямоугольную матрицу, и выходной файл, в который собственно и будет записан результат. Программа должна быть разбита на функции, ну это я наверно смогу сделать сам. Натолкните плз на правильный путь. Заранее Благодарен;) |
| Автор: Winterlord 12.12.2008, 19:47 |
| Неужели никто не хочет натолкнуть на правильное решение:( |
| Автор: Remiznik 14.12.2008, 00:14 | ||
а можно по подробнее задание что значит на пересечение ? можно пример как выглядит исходная матрица которую надо обсчитать ? |
| Автор: Winterlord 14.12.2008, 00:46 |
| Ну допустим в файле у нас есть такая вот матрица (в файл мы можем записать любую матрицу): 1 2 3 4 5 6 7 7 6 5 4 3 2 1 1 5 2 -6 2 4 8 2 -3 1 8 8 2 3 Видим, что во втором столбце, в последней строке стоит -3 - отрицательный элемент, считаем сумму элементов во втором столбце + сумму элементов последней строчки. Аналогично поступаем и с -6, который располагается в 4-м столбце. Думаю так |
| Автор: Dmi3ev 14.12.2008, 00:54 | ||
Вот так. Подойдет???
|
| Автор: Winterlord 14.12.2008, 01:13 |
| Dmi3ev, К сожалению матрица должна читаться с файла и результат тоже должен выводиться в файл (ещё одна функция). И сделай пожалуйста так, чтобы при выводе результата выводились номера столбцов и строчек матрицы, ато сейчас, как я понимаю, выводится просто нумерация. Заранее огромное спасибо! |
| Автор: Dmi3ev 14.12.2008, 01:22 | ||||||
сейчас выводятся номера столбцов и строк, если нужно, чтобы выводился порядковые номера то:
а сам писать собираешься??? хоть чуть-чуть??? |
| Автор: Winterlord 14.12.2008, 01:28 | ||
Если бы у меня хоть что то работало в этой программке, то непременно выложил бы) К сожалению у меня пока нет хоть сколько то работоспособного варианта, вот и обращаюсь за помощью |
| Автор: Winterlord 14.12.2008, 14:48 | ||
Пока вот то, что наработал. Саму функцию подсчёта впихнуть не удаётся, да и с файла читается почему то как одномерный массив. Вывод в файл пока не делал, ибо не работают сами подсчёты.
|
| Автор: Remiznik 14.12.2008, 17:29 | ||
во первых форматируй код !!! и самому понятнее будет и другим легче будет тебе помочь !
это твой же код только форматированый ... каждый делает это посвоемому но в любое форматирование удобнее читать чем кучу операторов ) второе я не понимаю зачем ты передаёш значения M и N в функции если они там не используются .... я догодываюсь что они должны там использоватся только вот твой код этого не делает ! подумай над этим ! |
| Автор: 2008сергей2008 17.12.2008, 14:07 |
| люди помогите с задачей надо найти номер столбца в котором количество отрицательных элементов равна количеству положительных (нулевые не считаются)если таких нет то вывести ноль. #include<iostream.h> #include<conio.h> void main(); { int**a,m,n; cout<<"vvedite razmer:";cin>>m>>n; a=new int*[m]; for(int i=0;i<m:i++) a[i]=new int[n]; randomize(); for(i=0;i<m;i++) {cout<<"\n"; for (int j=0;j<n;j++) { a[i][j]=random(10)-5; cout <<a[i][j]<<"\t"; }} cout<<"\n\n rez:\n"; for(i=0;i<n;i++) for(i=0;i<m;i++) delete []a[i]; delete[]a getch(); } |