Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.05.2008, 13:01   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А то скоро сдавать это дело.
Ну преподаватель по привычке найдет где поправить ))
Программа работает? Тестировал ее? Если да то сдавай смело.
I'm learning to live...
Stilet вне форума
Старый 23.05.2008, 14:40   #22
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Тут вот решаю еще одну задачу! Нужна помощь! Программа должна выводить № сотрудника и случайное число, учитывая, что числа разные(но возможны несколько одинаковых, но не все!)
вот код:
Код:
program rabotnik;
uses crt;
var
mas:array[1..10] of integer;
N, i,:integer;
begin
ClrScr;
randomize;
for i:=1 to 10 do
mas[i]:=random(10);
for n:=1 to 10 do
writeln(' сотрудник №',N,'=', mas[i]);
readln;
end.
результат должен быть:
сотрудник №1=3
сотрудник №2=9
сотрудник №3=5
.......................
сотрудник №10=4
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 23.05.2008, 18:34   #23
motaro
Форумчанин
 
Регистрация: 10.07.2007
Сообщений: 104
По умолчанию

во втором цикле не mas[i], а mas[n]
motaro вне форума
Старый 27.05.2008, 12:52   #24
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

вот следующая задача!
Дан список сотрудников организации с указанием возраста каждого. Найти возраст самого стар¬шего сотрудника и сколько всего сотрудников такого возраста.
А вот и решение
Код:
program rabotnik;
uses crt;

var
mas:array[1..40] of integer;
N, i, max, vsegomax:integer;

begin
ClrScr;
vsegomax:=0;
randomize;
for i:=1 to 40 do
mas[i]:=20+random(20);
for n:=1 to 10 do
writeln(' сотрудник',N,'=', mas[n]);
max:=mas[1];
for i:=1 to 40 do
if mas[i]>max then max:=mas[i];
for i:=1 to 10 do
if max=mas[i] then vsegomax:=vsegomax+1;
writeln('max', max,' всего этого возр=', vsegomax);
readln;
end.
Только вот после 6 раз(примерно) тестирования появляются чудеса!
Выводится максимальное число, которого нет в массиве, и раз он повторяется 0
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 27.05.2008, 13:07   #25
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

18 строка. Можно начать цикл с 2.

Строка кода 20 и 21.
Понятно что идёт поиск людей имеющих такой возраст. Но почему всего до 10 человека?

СТроки 13 и 15. Эти циклы можно обьединить в один.

Да и вообще у Вас поиск максимального идёт по всем 40 элементам, а выводиться на экран только 10. Вы или работатйе со всеми 40 либо ищите максимум только до 10..

ЗЫ: учитесь нормально форматировть код.. читать трудно.. я уж не говорю про понять его....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума
Старый 27.05.2008, 14:22   #26
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Цитата:
Но почему всего до 10 человека?
Я просто решил, что так удобнее бедет. Типо работают в фирме 10 человек.
вот исправил, наверное должно работать.
max:=mas[1];
for i:=1 to 10 do
if mas[i]>max then max:=mas[i];
for i:=1 to 10 do
if max=mas[i] then vsegomax:=vsegomax+1;
Цитата:
СТроки 13 и 15. Эти циклы можно обьединить в один.
это как?
------------------------------
Ум без разума –это беда!

Последний раз редактировалось veter_s_morya; 27.05.2008 в 14:24.
veter_s_morya вне форума
Старый 27.05.2008, 14:59   #27
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Учитесь форматировать текс. Он должен удобно читаться, а не писаться.

Код:
Const P = 10;

Var Mas : Array [1..P] of Integer;
      I, Max, VsegoMax : Integer;

Begin
VsegoMax := 0; Randomize;

Max := Mas[1];
for I := 1 To P Do
  Begin
    Mas[I] := 20 + Random(20);
    Writeln(' sotrudnik ', I, '=', Mas[I]);
    If Mas[I] > Max Then Max := Mas[I]
  End;

For I := 1 To P Do
  If Max = Mas[I] Then VsegoMax := VsegoMax + 1;

Writeln('Max ', Max,', ravnix = ', VsegoMax);

Readln;
End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума
Старый 03.06.2008, 11:40   #28
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Тут очередную задачу по массиву делаю. Решил тут в кое-чем облегчить себе жизнь. Скажите как сделать такую вещь?:
если вводится любая буква, то продолжается работа программы (с самого начала), но если вводится буква N, то программа заканчивается.
это набросок!

program natur;
uses crt;
var
mas:array[1..20] of integer;
i:integer;
s,n:string;
begin
ClrScr;
randomize;
{вернуться сюда}
mas[i]:=random(20);
writeln(mas[i]);
readln(n); {отсюда вернуться туда}
end.
может тут цикл while или метку использовать?
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 03.06.2008, 12:03   #29
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
может тут цикл
Вот верное решение.
I'm learning to live...
Stilet вне форума
Старый 03.06.2008, 12:23   #30
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
Сообщение

Цитата:
Цитата:
может тут цикл

Вот верное решение.
значит while... но раньше я работал только с цифрами, а с буквами нет. Для примера покажите!
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в С\С++ Zahar11 Помощь студентам 4 31.05.2008 00:35
массивы ShenDy Общие вопросы C/C++ 4 17.04.2008 00:01
Массивы Snord Общие вопросы Delphi 2 12.04.2008 13:45