|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.03.2010, 22:11 | #1 |
Регистрация: 28.04.2009
Сообщений: 5
|
Многомерный масив
Вот программа, которая длжна в лабиринте(лабиринт представлен в виде матрицы) найти путь по которому сумма цыфр будета равна некому числу(например: 70) и находить пути минимальной и максимальной сумм элементов(по одному с каждой строки матрицы). Вот написал, находит путь для результут суммы 70, но немного плохо работает. Подскажите, как исправить и как сделать поиск минимальной и максимальной сумм. В конечном выводе должны выводтся координати елементов.
#include <stdlib.h> #include <stdio.h> #include <conio.h> int max; int a[5][5]={{8,7,6,8,4},{6,0,5,0,5},{9,8,7,9, 7},{4,0,8,0,8},{6,7,6,3,8}};//masuv chusel int l[5][5];//masuv mitok (bylu tyt 4u ni) int seek(int i,int j,int s)//rekypcuvna fynkcija powyky { if(i>4||j>4||i<0||j<0||l[i][j]==1||a[i][j]==0)return(0);//jakw4o vujwlu za me*i abo xid nemo*luvuj if((i==0)&&(j==0)&&(s+a[0][0]==70))//jakw4o dosjaglu rezyltaty { printf("%d %d",i+1,j+1); //nadpykyvatu koordunatu return(1); //ta povidomutu pro tce } l[i][j]=1;//mu tyt je if(seek(i-1,j,s+a[i][j])){printf("\n%d %d",i+1,j+1);return(1);}//rekyrsuvno wykatu dali if(seek(i+1,j,s+a[i][j])){printf("\n%d %d",i+1,j+1);return(1);} if(seek(i,j-1,s+a[i][j])){printf("\n%d %d",i+1,j+1);return(1);} if(seek(i,j+1,s+a[i][j])){printf("\n%d %d",i+1,j+1);return(1);} l[i][j]=0;//mu zvidcu piwlu return(0);//proval } void main(void) { clrscr(); int i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) l[i][j]=0;//zapovnutu masuv mitkamu "ne bylu" printf("naw wljax:\n"); seek(4,4,0); getch(); } Последний раз редактировалось NAG; 04.03.2010 в 22:13. |
05.03.2010, 22:31 | #2 |
Форумчанин
Регистрация: 13.12.2009
Сообщений: 272
|
Для того чтобы найти в принципе минимальный и максимальный пути (не просто анализируя соседние клетки у текущего положения) нужно использовать волновой алгоритм, интересная вещь, кстати
Если я помог вам - порадуйте меня, нажмите на весы слева
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Масив | MyST1caL | Общие вопросы Delphi | 1 | 20.01.2010 23:06 |
Как создать многомерный динамический массив в Delphi? | Velross | Помощь студентам | 3 | 06.01.2010 20:50 |
многомерный не квадартный массив-константа | Izhic | Общие вопросы Delphi | 3 | 11.11.2009 16:34 |
С++/С# многомерный массив | DeFace | Общие вопросы C/C++ | 4 | 03.05.2009 16:07 |
Многомерный массив | Iogan Gamba Puti | Общие вопросы C/C++ | 2 | 08.05.2008 15:20 |