BloodLyoha
Новичок
|
3 и 4 задачу решил, буду очень блогодарен если поможете еще первые две решить
|
Всего сообщений: 4 | Присоединился: декабрь 2009 | Отправлено: 10 дек. 2009 11:13 | IP
|
|
VF
Administrator
|
BloodLyoha №1 Первый проход по массиву - находишь и запоминаешь в какой позиции максимум. Второй проход - делаешь все элементы кроме элемента с максимумом нулем, а элемент с максимумом умножаешь в 2 раза. Что выводить на экран я не понял - измененный массив (тогда выводишь значения при первом проходе после обработки каждой ячейки) или действительно исходный, то есть не измененный (тогда на втором проходе надо копировать в другой массив того же размера). №2 Тут можно по мере заполнения запоминать максимальный для каждой строки. И при переходе к следующей записывать его в одномерный массив. Все же просто
|
Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 11 дек. 2009 6:09 | IP
|
|
BloodLyoha
Новичок
|
просто для тех кто изучал нормаьно а я не шарю ваще ))
|
Всего сообщений: 4 | Присоединился: декабрь 2009 | Отправлено: 11 дек. 2009 12:01 | IP
|
|
VF
Administrator
|
BloodLyoha Прочитай про циклы, массивы и условный оператор. Этого хватит для обоих задач, если ты 3 и 4 решить сумел
|
Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 11 дек. 2009 12:56 | IP
|
|
BloodLyoha
Новичок
|
можешь дать ссылучку где поясней написано про них?
|
Всего сообщений: 4 | Присоединился: декабрь 2009 | Отправлено: 11 дек. 2009 12:58 | IP
|
|
Fantom7916
Новичок
|
люди добрые, помогите кто чем может! через 3 дня зачет по програмированию а я вообще ни в какую не понимаю зачетные задачи =((( Буду очень очень преочень благодарен тому, кто хоть чем то поможет! 1) По заданным координатам (x1, y1), (x2, y2), (x3, y3) вершин треугольника найти точку пересечения биссектрис его углов (центр вписаннойй в него окружности). 2) Может ли шар радиуса r пройти через ромбообразное отверстие диагоналями p и q? 3) Дан текст. Группы символов.ю разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти все слова, содержащие наибольщее количество гласных латинских букв (a, e, i, o, u). Заранее ОГРОМНОЕ СПАСИБО Вам!!!! =)
|
Всего сообщений: 2 | Присоединился: декабрь 2009 | Отправлено: 14 дек. 2009 19:50 | IP
|
|
KMA
Долгожитель
|
можешь дать ссылучку где поясней написано про них?
Почему у людей когда возникает потребность решить задачу они лезут в google, а когда нужно найти учебник или уроки напрочь о поисковиках забывают??? Наверное это психологический блок такой, чтобы не учиться. Гугл выдал мне вот эту ссылку внешняя ссылка удалена там вроде хорошо все и просто написано, думаю -- разберешься.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 дек. 2009 16:26 | IP
|
|
ulala
Новичок
|
Доброго времени суток Программа - исходник: program MDP; uses crt; var G,F1,F2,F3,F4,F5,F6,F7,F8,F9: set of byte; R,M: array [1..10] of array [1..10] of integer; Y: array [1..10] of integer; i,j,k,n,C:integer; begin clrscr; G:=[1,2,3,4,5,6,7,8,9]; F1:=[2,3,4]; F2:=[3,6]; F3:=[4,5]; F4:=[5,7]; F5:=[6,8]; F6:=[9]; F7:=[8,9]; F8:=[9]; F9:=[]; for j:=1 to 9 do begin if j in F1 then R[1,j]:=1 else R[1,j]:=0; if j in F2 then R[2,j]:=1 else R[2,j]:=0; if j in F3 then R[3,j]:=1 else R[3,j]:=0; if j in F4 then R[4,j]:=1 else R[4,j]:=0; if j in F5 then R[5,j]:=1 else R[5,j]:=0; if j in F6 then R[6,j]:=1 else R[6,j]:=0; if j in F7 then R[7,j]:=1 else R[7,j]:=0; if j in F8 then R[8,j]:=1 else R[8,j]:=0; if j in F9 then R[9,j]:=1 else R[9,j]:=0; end; for i :=1 to 9 do begin for j:=1 to 9 do write(R[i,j],' '); writeln; end; for j:=1 to 9 do M[j,1]:=0; for i:=2 to 9 do for j:=1 to 9 do M[j,i]:=100; j:=1; repeat j:=j+1; k:=0; for i:=1 to 9 do if R[i,j]=1 then begin k:=k+1; Y[k]:=M[j-1,i]+1; end; C:=100; for n:=1 to k do if Y[n]<C then C:=Y[n]; for i:=j to 9 do M[i,j]:=C; until j=9; writeln; for j:=1 to 9 do begin for i:=1 to 9 do write(M[j,i],' '); writeln; end; readln; End. Эта программа нахождения минимального пути из истока в сток на графе. Теперь требуется: Определить длину максимального пути для графа, заданного матрицей расстояний (как сказал преподаватель это та же самая R, только вместо нулей вводить другие числа, это я сделала). Вот код: program MDP; uses crt; var G,F1,F2,F3,F4,F5,F6,F7,F8,F9: set of byte; R,M,S: array [1..20] of array [1..20] of integer; Y: array [1..10] of integer; i,j,k,n,C,h,p,V: integer; begin clrscr; G:=[1,2,3,4,5,6,7,8,9]; F1:=[2,3,4]; F2:=[3,6]; F3:=[4,5]; F4:=[5,7]; F5:=[6,8]; F6:=[9]; F7:=[8,9]; F8:=[9]; F9:=[]; for i:=1 to 9 do for j:=1 to 9 do begin if j in F1 then R[1,j]:=1 else R[1,j]:=0; if j in F2 then R[2,j]:=1 else R[2,j]:=0; if j in F3 then R[3,j]:=1 else R[3,j]:=0; if j in F4 then R[4,j]:=1 else R[4,j]:=0; if j in F5 then R[5,j]:=1 else R[5,j]:=0; if j in F6 then R[6,j]:=1 else R[6,j]:=0; if j in F7 then R[7,j]:=1 else R[7,j]:=0; if j in F8 then R[8,j]:=1 else R[8,j]:=0; if j in F9 then R[9,j]:=1 else R[9,j]:=0; end; for i :=1 to 9 do begin for j:=1 to 9 do write(R[i,j],' '); writeln; end; for i:=1 to 9 do for j:=1 to 9 do begin if R[i,j]=1 then begin write('Vvedite ves dugi-> '); readln(V); S[i,j]:=V; end; end; for i :=1 to 9 do begin for j:=1 to 9 do write(S[i,j],' '); writeln; end; for j:=1 to 9 do M[j,1]:=0; for i:=2 to 9 do for j:=1 to 9 do M[j,i]:=-100; j:=1; repeat j:=j+1; k:=0; for i:=1 to 9 do if S[i,j]>0 then begin k:=k+1; Y[k]:=M[j-1,i]+M[i,j]; end; C:=-100; for n:=1 to k do if Y[n]>C then C:=Y[n]; for i:=j to 9 do M[i,j]:=C; until j=9; writeln; for j:=1 to 9 do begin for i:=1 to 9 do write(M[j,i],' '); writeln; end; readln; End.
|
Всего сообщений: 2 | Присоединился: декабрь 2009 | Отправлено: 17 дек. 2009 16:49 | IP
|
|
ulala
Новичок
|
Но этот код естественно работает неправильно... А кроме этого ещё надо найти вершины, лежащие на максимальном пути... Помогите хотя бы только исправить код чтобы он правильно находил максимальный путь..
|
Всего сообщений: 2 | Присоединился: декабрь 2009 | Отправлено: 17 дек. 2009 16:50 | IP
|
|
KMA
Долгожитель
|
Задачи на графах... Ты знаешь подобное решение точно есть в интернете, потому как задача каноническая. Однако если честно я не совсем понял смысла задачи (что значат исток и сток?). Тебе заданы две вершины графа, нужно найти максимальный путь к ним? Зачем использовать множества, если ты итак знаешь свой граф не проще ли сразу объявить его в константы? Может стоит задуматься о весе дуги, скажем не 1, а 14 и т.д. может преподаватель именно это имел ввиду? Можно задачу полностью с ее формулировкой.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 дек. 2009 22:52 | IP
|
|
|