Программирование  
Автор Сообщение

0
Сообщение Программирование
Извините, не знал в какую тему написать, но очень срочно. страдал фигней на парах, ниче не недал, а тут лабораторку задали, кто шарит в паскале, помогите плз=)
Дана матрица NxM, состоящая из натуральных чисел. Найти в ней наименьший элемент и определить его местоположение. Если таких элементов несколько, то вывести на экран положение каждого из них.


31 окт 2011, 18:12
Профиль

-1
Сообщение Программирование
а как тебе в универ то взяли?


31 окт 2011, 18:13
Профиль

-1
Сообщение Программирование
колледж)


31 окт 2011, 18:13
Профиль

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
Профиль






Сервер: Outland
2х2: 191
0
Сообщение Программирование
вообще ничего не понимаешь в паскале? задача-то вообще детская, мы такие еще в школе решали...


31 окт 2011, 18:26
Профиль

0
Сообщение Программирование
вообще не шарю) ниче не делал, как сдавал на прежних курсах не помню :blu


31 окт 2011, 18:40
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Программирование
а я думал на паскале только в школе учат программировать :bee:


31 окт 2011, 18:45
Профиль

0
Сообщение Программирование
Цитата:

а я думал на паскале только в школе учат программировать

сказали делайте на чем удобно, на парах проходил plants vs zombies


31 окт 2011, 18:48
Профиль

4
Сообщение Программирование
И зачем помогать распиздяям? вы саботируете естественный отбор. Чувак даже раздел найти поленился подходящий.


31 окт 2011, 18:52
Профиль

0
Сообщение Программирование
ох уж эти дети...


31 окт 2011, 18:53
Профиль

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
Профиль

0
Сообщение Программирование
Автор forever alone? Видно всех одногрупников в плентс вс зомби порвал, терь не могут помочь?


31 окт 2011, 19:06
Профиль

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
Профиль

0
Сообщение Программирование
Цитата:

Автор forever alone?

нет, forever отдыхаю, а одногруппники мудаки)


31 окт 2011, 19:28
Профиль

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
Профиль

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
Профиль

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
Профиль

0
Сообщение Программирование
Цитата:

вроде правильный вариант, если что не верно - исправьте

спасибо огромное, все работает, заходи на ЧШ, отблагодарю=)


31 окт 2011, 22:07
Профиль

0
Сообщение Программирование
Крестьянин торжествует :dance


31 окт 2011, 22:35
Профиль

0
Сообщение Программирование
dav1dchee писал(а):

Цитата:

вроде правильный вариант, если что не верно - исправьте

спасибо огромное, все работает, заходи на ЧШ, отблагодарю=)

в вов больше не играю :D а так, не за что


31 окт 2011, 22:40
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru