Автор |
Сообщение |
dav1dchee
|
0
Программирование
Извините, не знал в какую тему написать, но очень срочно. страдал фигней на парах, ниче не недал, а тут лабораторку задали, кто шарит в паскале, помогите плз=) Дана матрица NxM, состоящая из натуральных чисел. Найти в ней наименьший элемент и определить его местоположение. Если таких элементов несколько, то вывести на экран положение каждого из них.
|
31 окт 2011, 18:12 |
|
|
brioriy
[2.1]
|
-1
Программирование
а как тебе в универ то взяли?
|
31 окт 2011, 18:13 |
|
|
dav1dchee
|
-1
Программирование
колледж)
|
31 окт 2011, 18:13 |
|
|
nervyo
[0.4]
|
0
Программирование
фейспалм задача
k:=999999999999999999999; For i:=1 to n do for j:=1 to m do if a[i,j]k:=a[i,j]; c:=i; d:=j; end; writeln (k,c,d); end.
к наименьшее число с и d номер
|
31 окт 2011, 18:23 |
|
|
Youngroga
[0.2]
|
0
Программирование
вообще ничего не понимаешь в паскале? задача-то вообще детская, мы такие еще в школе решали...
|
31 окт 2011, 18:26 |
|
|
dav1dchee
|
0
Программирование
вообще не шарю) ниче не делал, как сдавал на прежних курсах не помню
|
31 окт 2011, 18:40 |
|
|
witcher
[14.3]
|
0
Программирование
а я думал на паскале только в школе учат программировать
|
31 окт 2011, 18:45 |
|
|
dav1dchee
|
0
Программирование
Цитата: а я думал на паскале только в школе учат программировать
сказали делайте на чем удобно, на парах проходил plants vs zombies
|
31 окт 2011, 18:48 |
|
|
Свуй
[24.3]
|
4
Программирование
И зачем помогать распиздяям? вы саботируете естественный отбор. Чувак даже раздел найти поленился подходящий.
|
31 окт 2011, 18:52 |
|
|
RazDvaTru
[-2.8]
|
0
Программирование
ох уж эти дети...
|
31 окт 2011, 18:53 |
|
|
blacksoul
|
0
Программирование
nervyo написал для одномерного и вывел только одну позицию. + еще пара неточностей я плохо помню синтаксис паскаля, напишу на Си, надеюсь перевести сможешь. k=а[0][0]; Скрытый текст в Си 1ый элемент массива имеет индекс 0, соотв для паскаля a[1][1]. присваиваем значение 1ого элемента, тк если k=99999999, то можно вылезти за размерность или все элементы массива могут быть больше k и в ответе получим глупость. for(i=0;i { //аналог begin } - end for(j=0;j { if(a[i][j] k=a[i][j]; } } //нашли наименьшее значение printf("%d ",k); //вывели это значение for(i=0;i { for(j=0;j { if(a[i][j]=k) //если элемент массива является наименьшим pirntf("%d %d",i,j); //выведем его позицию } //если наименьших несколько, выведутся все позиции }
|
31 окт 2011, 18:53 |
|
|
Kimreik
[-0.2]
|
0
Программирование
Автор forever alone? Видно всех одногрупников в плентс вс зомби порвал, терь не могут помочь?
|
31 окт 2011, 19:06 |
|
|
nervyo
[0.4]
|
0
Программирование
blacksoul писал(а): nervyo написал для одномерного и вывел только одну позицию. + еще пара неточностей я плохо помню синтаксис паскаля, напишу на Си, надеюсь перевести сможешь. k=а[0][0]; Скрытый текст в Си 1ый элемент массива имеет индекс 0, соотв для паскаля a[1][1]. присваиваем значение 1ого элемента, тк если k=99999999, то можно вылезти за размерность или все элементы массива могут быть больше k и в ответе получим глупость. for(i=0;i { //аналог begin } - end for(j=0;j { if(a[i][j] k=a[i][j]; } } //нашли наименьшее значение printf("%d ",k); //вывели это значение for(i=0;i { for(j=0;j { if(a[i][j]=k) //если элемент массива является наименьшим pirntf("%d %d",i,j); //выведем его позицию } //если наименьших несколько, выведутся все позиции }
для двумерного, а про 1н элемент это да
|
31 окт 2011, 19:14 |
|
|
dav1dchee
|
0
Программирование
Цитата: Автор forever alone?
нет, forever отдыхаю, а одногруппники мудаки)
|
31 окт 2011, 19:28 |
|
|
00Nards
[4.1]
|
0
Программирование
nervyo писал(а): фейспалм задача
k:=999999999999999999999; For i:=1 to n do for j:=1 to m do if a[i,j]k:=a[i,j]; c:=i; d:=j; end; writeln (k,c,d); end.
к наименьшее число с и d номер
а если наименьшее число будет на 1 больше k? что тогда? upd. проще взять первый элемент массива и считать его минимумом, а все остальные эл-ты сравнивать, если меньше, то меняем значение на значение текущего эл-та, если >=, то все оставляем как есть
|
31 окт 2011, 19:32 |
|
|
forestranger
|
0
Программирование
доделайте кто нить чтобы все минимальные выводило Скрытый текст uses crt; type mas=array[1..100,1..100] of integer; var a:mas; i,j,k,n,m,z,min:integer; begin randomize; writeln('BBEgu PA3MEP N'); readln (n); writeln('BBEgu PA3MEP M'); readln (m); writeln('matrica'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write(a[i,j],' '); end; writeln; end; min:=a[1,1]; k:=1; z:=1; for i:=1 to n do for j:=1 to m do begin if min>a[i,j] then begin min:=a[i,j]; k:=i; z:=j; end; end; writeln( 'min =',a[k,z], ' ',' poz=(',k,',',z,')'); readln; end.
|
31 окт 2011, 20:06 |
|
|
00Nards
[4.1]
|
0
Программирование
forestranger писал(а): доделайте кто нить чтобы все минимальные выводило Скрытый текст uses crt; type mas=array[1..100,1..100] of integer; var a:mas; i,j,k,n,m,z,min:integer; begin randomize; writeln('BBEgu PA3MEP N'); readln (n); writeln('BBEgu PA3MEP M'); readln (m); writeln('matrica'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write(a[i,j],' '); end; writeln; end; min:=a[1,1]; k:=1; z:=1; for i:=1 to n do for j:=1 to m do begin if min>a[i,j] then begin min:=a[i,j]; k:=i; z:=j; end; end; writeln( 'min =',a[k,z], ' ',' poz=(',k,',',z,')'); readln; end.
у тебя массив 100х100, а если пользователь введет n и m 101 и 101? Добавлено спустя 3 минуты 25 секунд:dav1dchee писал(а): Извините, не знал в какую тему написать, но очень срочно. страдал фигней на парах, ниче не недал, а тут лабораторку задали, кто шарит в паскале, помогите плз=) Дана матрица NxM, состоящая из натуральных чисел. Найти в ней наименьший элемент и определить его местоположение. Если таких элементов несколько, то вывести на экран положение каждого из них.
1 вопрос? n и m определены? или ты их сам задать можешь? Добавлено спустя 15 минут 22 секунды:Скрытый текст uses crt; type mas=array[1..100,1..100] of integer; var a:mas; i,j,k,n,m,min,h:integer; begin randomize; writeln('Vvedit razmer n<=100'); readln(n); writeln('vvedite razmes m<=100'); readln(m); writeln('matrica'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10); write(a[i,j],' ') end; writeln end; min:=a[1,1]; k:=1; m:=1; for i:=1 to n do for j:=1 to n do begin if min>a[i,j] then begin min:=a[i,j]; k:=i; m:=j; end; end; { writeln( 'min element =',a[k,m], ' ','ego posiziya=(',k,',',m,')');} for i:=1 to n do for j:=1 to j do if a[i,j]=min then writeln( 'min element =',a[i,j], ' ','ego posiziya=(',i,',',j,')');
readln; { repeat until keypressed;} end. вроде правильный вариант, если что не верно - исправьте
|
31 окт 2011, 20:23 |
|
|
dav1dchee
|
0
Программирование
Цитата: вроде правильный вариант, если что не верно - исправьте
спасибо огромное, все работает, заходи на ЧШ, отблагодарю=)
|
31 окт 2011, 22:07 |
|
|
RazDvaTru
[-2.8]
|
0
Программирование
Крестьянин торжествует
|
31 окт 2011, 22:35 |
|
|
00Nards
[4.1]
|
0
Программирование
dav1dchee писал(а): Цитата: вроде правильный вариант, если что не верно - исправьте
спасибо огромное, все работает, заходи на ЧШ, отблагодарю=) в вов больше не играю а так, не за что
|
31 окт 2011, 22:40 |
|