Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

Dale



Участник


Цитата: Tuki63 написал 24 мая 2009 14:55
Помогите пожалуйста доделать задачу)

НайтиМаксимальный элемент в заданной группе соседних строк матрицы с использованием функций.
____________________________________________________
вот код




Попробовал разобраться в вашем коду - не получилось, написал свой(с вас пиво):
***примечания:
1)Не предусмотрена проверка ввода
2)максимальный размер матрицы 10x10 можно изменить во второй строке программы
3)Переменные BEPX, HU3 и тп пишутся латинскими  буквами и цифрами
4)Функция nouck ищет максимальный элемент указанной строки

___________________________________

uses crt;
var matr:array[1..10,1..10] of integer;
   gr1,gr2:integer;{размернсть матрицы}
   max,i,j,
   BEPX,HU3:integer;
function nouck(HOMEP_CTPOKU:integer):integer;
begin
 max:=matr[HOMEP_CTPOKU,1];
 for i:=2 to gr2 do
   if max<matr[HOMEP_CTPOKU,i] then max:=matr[HOMEP_CTPOKU,i];
 nouck:=max;
end;

begin
clrscr;
writeln('Введите количество строк матрицы:'); readln(gr1);
writeln('Введите количество столбцов матрицы:'); readln(gr2);

randomize;
For i := 1 to gr1 do For j := 1 to gr2 do matr[i, j] := random(11);

writeln('Вот наша матрица:');

For i := 1 to gr1 do begin
 writeln;
 For j := 1 to gr2 do write(matr[i,j],'   ');
end;

writeln;
writeln('Теперь введите номер строки верхней границы:  '); read(BEPX);
writeln('Теперь введите номер строки нижней границы:  '); read(HU3);

for j:=BEPX to HU3 do
writeln('В строке номер  ',j,' максимальный эллемент равен ',nouck(j));

readkey;
end.


___________________________________


(Сообщение отредактировал Dale 26 мая 2009 5:19)

-----
Прикольная песня :-)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 26 мая 2009 5:12 | IP
Serega1992


Новичок

Dale, в предпоследней задаче (про подсчёт кол-ва пятёрок в числе) Вы какой-то бред написали, наверно, специально, чтобы попросивший человек окончательно запутался. На каком основании Вы прерываете цикл, если очередная цифра равна нулю? Т.е. программа эта не будет работать правильно при наличии в числе нулей. Куда более короткое и, самое главное, правильное решение задачи:
var a,ans:integer;
begin
readln(a);
ans:=0;
while a>0 do
begin
 if a mod 10=5 then inc(ans);
 a:=a div 10;
end;
writeln(ans);
readln;
end.
И в следующий раз думайте, что пишете.

Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 26 мая 2009 14:20 | IP
kilimon



Новичок

есть система двух уравнений: 2x+ay=2  ax+by=4}, где a и b случайные числа, равномерно распределенные на промежутках а-[ 2; 7] и b-[ -5; -1]. Найти вероятность того, что случайно выбранная пара значений a и b даст неотрицательное решение системы.

Я думаю нужно чтобы паскаль взял рандомно значения a и b из их промежутокв, потом подставил эти значиния в систему [в паскале я записал систему так: после сложения уравнений в системе я получил одно уравнение - 2x+ax+ay+by=6 и из него выразил x и y: x=(6-y*(a+b))/(2+a) y=(6-x*(2+a))/(a+b) ], а потом сравнил, если x и y меньше 0, то к a и b заного рандомно присваиваются значения из их промежутков, а если x и y больше или равны 0 [ я в паскале написал else ], то программа идет дальше и вычисляет p - вероятность того, что случайно выбранная пара значений a и b даст неотрицательное решение системы.
"P:=shetchik/1000" точно правильная формула

Вот моя программа (когда я её запускаю, она пишет ответ 0, это значит что счетчик почему то равняется 0, что-то у меня не правильно)

program zadacha;
var i,shetchik:integer;
a,b,x,y,p:real;
begin
randomize;
shetchik:=0;
for i:=1 to 1000 do
begin
a:=2+(7-2)*random;
b:=-5+(-1-(-5))*random;
x:=(6-y*(a+b))/(2+a);
y:=(6-x*(2+a))/(a+b);
if (x<0) and (y<0) then shetchik:=shetchik+1 else
end;
p:=shetchik/1000;
writeln(p);
readln;
end.

Это лаба по теории вероятности.
Заранее спасибо.

Всего сообщений: 1 | Присоединился: май 2009 | Отправлено: 26 мая 2009 17:08 | IP
adrinalin


Новичок

Спасибо! СРОЧНО нужно решить 3 задачи.. . Люди у меня завтра экзамен... попросила учителка решить 12 задач и дала распечатку ... я решила 7 задач и больше не смогла ступр полный! задачи простые и даже может быть элемнтарные... короч вот.

1. Впеременную последовательно вводятся числа. Оканчание ввода - 0. Опредилить кол-во чисел которые больше К.
Задача на цикл. можно фор то ду или While. Другие использовать нельзя. Прошу помочь с первой частью задачи вплоть до слов Окончание ввода - 0.

2. В переменую последовательно вводятся положительные числа. Окончание ввода - 0. Опредилить максимальное число и порядковый номер. Задача анологичная только здесь я непоняла как опредилить порядковый номер в остальном сначала сделаю цикл затем проверка условия затем через If...опредилю масимум.

Всего сообщений: 2 | Присоединился: май 2009 | Отправлено: 26 мая 2009 18:26 | IP
Foton10



Новичок

пусть переменная x, и счетчик n
n:=0;
while x<>0 do
begin
readln(x);
if x>k then n:=n+1;
end

это первое, если я всё правильно понял то так

Всего сообщений: 45 | Присоединился: декабрь 2008 | Отправлено: 26 мая 2009 22:34 | IP
Dale



Участник


Цитата: Serega1992 написал 26 мая 2009 14:20
Dale, в предпоследней задаче (про подсчёт кол-ва пятёрок в числе) Вы какой-то бред написали


Исправил


(Сообщение отредактировал Dale 27 мая 2009 15:01)

-----
Прикольная песня :-)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 26 мая 2009 23:27 | IP
Dale



Участник


Цитата: adrinalin написал 26 мая 2009 18:26
Спасибо!
2. В переменую последовательно вводятся положительные числа. Окончание ввода - 0. Опредилить максимальное число и порядковый номер. Задача анологичная только здесь я непоняла как опредилить порядковый номер в остальном сначала сделаю цикл затем проверка условия затем через If...опредилю масимум.

Вводите переменную под порядковый номер, и там, где вы опр. максимум  мен. пор. номер на счетчик, например:

пусть переменная x, и счетчик n, порядковый номер num
...
num:=0;
while...
...
IF max<x then begin
max=x;
num=n;
end;
...


-----
Прикольная песня :-)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 26 мая 2009 23:46 | IP
assassin86



Новичок

Ребят помогите пожалуста=)Горю блин=)Я в паскале полный дуб=)На завтра надо сделать эти задачи.Помоги те плиз=)

1.Дан текстовый файл f,содержащий сведения о сотрудниках,записанные по образцу:
фамилия имя отчество
фамилия имя отчество
...Записать эти сведения  в текстовом файле g,используя образцы
а)имя отчество фамилия
  имя отчество фамилия
б)фамилия и.о.
  фамилия и.о.
2.Вычислить произведение m членов арифметической прогрессии,если известны значения первого члена а1 и разность арифметической прогрессии.
3.Напишите процедуру SeekVar(f),которая находит в файле ,содержащем текст программы на Паскале,идентификаторы переменных.
Заранее спасибо=)

(Сообщение отредактировал assassin86 27 мая 2009 14:57)

Всего сообщений: 1 | Присоединился: май 2009 | Отправлено: 27 мая 2009 14:16 | IP
Lenin



Новичок

Люди помогите пожалуйста с курсовой роботой по Алгоритмизации и Програмированию.
Дано три задачи, нада решить их и сделать меню! в самом меню вставить 5 процедур или функций модуля CRT, блоксхемы - одна ко всему меню в общем и ещё к каждой отдельной задаче тоже прописать блоксхему как она работает.
в обьяснении к програме нужно написать какие и для чего использовались функции, процедуры crt и дальше главные моменты всего меню описать, с помощью чего, что у нас там происходит.

Кто может взятся? Я дам задачи и более подробно обьясню что к чему!

Робота будет отблагодарена денюжкой

(Сообщение отредактировал Lenin 31 мая 2009 0:33)

-----
ОНОТОЛЕ СДЕДИТ ЗО ВАМЕ11!!!1!1

Всего сообщений: 12 | Присоединился: май 2009 | Отправлено: 31 мая 2009 0:05 | IP
Metal



Новичок

Ребят,добрый день.Помогите пожалуйста с программой.Уже давно мучаюсь,никак не  получается ничего толкового.Сначала вообще сама себе жизнь усложнила,т.к. неправильно истолковала условие,а теперь мысли появились,но времени совсем не :-(.
Вот текст задание: Составить программу,которая выводит на экран таблицу умножения и сложения натуральных чисел в шестнадцатиричной системе счисления.Желательно с процедурами,если не затруднит с этиим помочь.
Вот мои необработанные наброски:

Var A,B: array [1..100,1..100] of integer;
i,j:integer;
x:array [1..10] of integer;
Const n=10;m=10;
  begin
  x[ i ]:=1;
  x[ j ]:=1;
For i:=1 to n-1 do
For j:=1 to m-1 do
 begin
 x[ i ]:=x[ i ]+1;
 x[ j ]:=x[ j ]+1;
 end;
For i:=1 to 1 do
For j:=2 to m-1 do
begin
A[ i,j ]:=x[ j ];
B[ i,j ]:=x[ j ];
end;
For i:=2 to n-1 do
For j:=1 to 1 do
begin
A[ i,j ]:=x[ i ];
B[ i,j ]:=x[ i ];
end;
For i:=2 to n-1 do
For j:=2 to m-1 do
begin
A[ i,j ]:=x[ i ]*x[ j ];
B[i,j]:=x[ i ]+x[ j ];
end;
Writeln('A=,B=');
end.
Заранее прошу прощения за свою бестолковость.В вышенаписанном я пыталась хотя бы просто вывести таблицу умножения и сложения в виде таблицы Пифагора...но,к сожалению, даже это не удалось.Помогите пожалуйста,если сможете.Сама тоже буду стараться что-то сообразить.
Заранее большое спасибо.


(Сообщение отредактировал Metal 31 мая 2009 20:35)

Всего сообщений: 2 | Присоединился: май 2009 | Отправлено: 31 мая 2009 20:30 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com