Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Помогите решить задачу по информатике:
Дан одномерный массив. Отсортировать массив по возрастанию.
УКАЗАНИЕ: Для сортировки надо воспользываться следующим методом - найти минимальный элемент и поменять его со значением первого и так далее..
_________________ Весь мир игра, а мы вней монстры...
Var i,q,w,Max:integer; a:array [1..100] of integer; begin For i:=1 to 100 do begin readln (a[i]) end; Max:=a[1]; For i:=1 to 10 do begin For q:=1 to 11-i do begin if a[i]>Max then begin a[i]:=Max w:=i; end; end; a[11-i]:=a[w] a[11-i]:=Max; end; For i:=1 to 100 do begin writeln (a[q]); end; end.
Добавлено спустя 24 минуты, 47 секунд: Вот способ поправильней:
Код:
For i:=2 to 100 do begin For j:=100 downto i do begin if a[j-1]<a[j] then begin k:=a[j-1]; a[j-1]:=a[j]; a[j]:=k; end; end; end; For i:=1 to 100 do writeln (a[i]); end.
Member
Статус: Не в сети Регистрация: 30.01.2003 Откуда: Москва
arcon56142 Пусть есть интеграл от a до b функции f(x), число шагов steps. Тогда:
Код:
Result := 0; stepsize := ( b - a ) / steps;
// Прямоуггольниками: // суммируем площадь прямоугольников высотой f[текущая точка] и шириной stepsize for i := 0 to steps - 1 do Result := Result + stepsize * f( a + i*stepsize );
Если трапециями, то:
Код:
// суммируем площадь трапеций с основаниями f[текущая точка] и f[следующая точка] и высотой stepsize for i := 0 to steps - 1 do Result := Result + stepsize * ( f( a + i*stepsize ) + f( a + (i+1)*stepsize ) ) / 2;
Соответственно, i, steps - integer; a, b, stepsize и Result - Single/Double/Extended/Real...
arcon56142 Не знаю, что такое интегрировать, но знаю метод трапеции, мож еное поможет:
Код:
Var i, n: integer; a,b,f1,f2,d,s,so:real; begin readln (a,b,n);{n-кол-во шагов} d:=(b-a)/n; For i:=1 to n do begin f1:=(функция в a)+2; f2:=(функция в (a+b))+2; s:=((f1+f2)*d)/2; a:=a+d; so:=so+s;{so-площадь фигуры} end; writeln ('S=', so :6 :2); readln; end.
Member
Статус: Не в сети Регистрация: 20.08.2003 Откуда: Архангельск,РФ Фото: 11
Люди плиз проверьте прогу а то сам чёта немогу:
Вычислить значение суммы членов бесконечного ряда с заданной точностью .На печать вывести значение суммы и число членов ряда, вошедших в сумму.
Код:
uses crt; var S,e:real; i,n,x:integer; k:real; function fact(f:byte):longint; begin if f in[0,1] then fact:=1 else fact:=f*fact(f-1); end; function stepen(g,l:integer):real; begin k:=1; for i:=1 to abs(g) do k:=k*l; if g<0 then stepen:=1/k else stepen:=k; end;
uses crt; var f,out:text; x,i:byte; s:string; procedure search; begin repeat x:=x+i; i:=0; repeat if (s[x]=s[x+i]) then inc(i); until (s[x]<>s[x+i]); if i>1 then write(out,s[x],'(',i,')') else write(out,s[x]); until x>=length(s); end; procedure probelsdelete; begin repeat if s[1]=' ' then delete(s,1,1); if s[length(s)]=' ' then delete(s,length(s),1); until (s[1]<>' ') and (s[length(s)]<>' ');
это типа архиватор, заменяет повторяющиеся символы к примеру ссссс на с(5), но с ней проблемка возникла, в последней строке появляются пробелы, надо их както устранить.
_________________ Dell Venue 11 pro 7130 | SGS-III | Samsung Gear fit
Люди,момогите задачки решить,плиз.
1)Составить программу,которая вычисляет дату следущего дня.Введите цифрами сегодняшнюю дату(число,месяц,год).
Пример-31.12.99 Последний день месяца!
С наступающим новым годом! Завтра 1.1.2000
2)Ввести целое число N с клавиатуры. Подсчитать сумму всех целых чисел до N ,делящихся
нацело (на 5)
3)Дан массив целых чисел(n=10),заполненный случайным образом промежутка [-40;30)
Удалить из него все элементы, которые состоят из одинаковых цифр (включая однозначные числа)
4)Дан массив целых чисел (n=10) ,заполненный случайным образом промежутка [-40;30)
Вставить число k перед всеми элементами в которых есть цифра I(k вводится с клавиатуры)
5)Ввести 15 целых чисел.определить сколько из них принимает наибольшее значение.
6)Составить программу с использованием процедуры умножения матриц A(2,3) и B(3,4)
7)При поступлении в университет лица, получившие оценку ”неудовлетворительно” на первом экзамене, ко второму экзамену не допускаются. .Считая фамилии абитуриентов исходными данными, составить список абитуриентов, допущенных ко второму экзамену.
8)Дан файл т, который содержит номера телефонов сотрудников учреждения: указываются фамилия ,инициалы и номер телефона. Найти номер телефона сотрудника по его фамилии и инициалам.
9)В прямой четырёхугольной призме провести сечение, проходящее через сторону нижнего основания под углом 30 градусов.
Вот такие задачки,решите пожалста ,сессия поджимает
Member
Статус: Не в сети Регистрация: 21.10.2003 Откуда: Брест Фото: 47
GreatOne глянь сюда http://algolist.manual.ru/ - поищи хоть решение, может найдёшь... Останеться лишь написать - а это уже полдела...
Добавлено спустя 1 минуту, 37 секунд: {Ввести целое число N с клавиатуры. Подсчитать сумму всех целых чисел до N ,делящихся
нацело (на 5)}
{Воспользуемся формулой находждения суммы арифметической прогрессии
S(x)=x*(A_1+A_x)/2, где
A_1 - есть первый член прогрессии,
A_x - есть "X"овый член прогресси,
x - есть количество членов прогрессии }
{прогрессия у нас типа 5,10,15,20,25...}
Код:
Var N,S,x : longint; Begin Write('Введите число N: '); ReadLn(N); {Найдём последний член прогрессии A_x} While N mod 5 <> 0 do N:=N-1; {Найдём их количество x} x:=N div 5; {Найдём сумму} S:=x*(5+N) div 2; WriteLn; WriteLn('Искомая сумма: ',S); End.
Это весьма просто...
Остальное труднее... Пока некогда...
_________________ А ещё недавно ждали AMD Steamroller на AM3+
AlexZerg Спасибо,признателен. Есть ещё добрые люди!
А на сайте лазил этом.Только чё-то не нашёл.Да и плохо мне Паскаль даётся,да и времени уже нет чтоб изучать,сдавать уже нужно.
За паскаль мне обязательно нужно взяться,я же учусь на программиста всё-таки.(стыдно ) Ещё раз спасибо.
Люди,помогите решить какие-нибудь задачи мои(стр 6)!
Member
Статус: Не в сети Регистрация: 21.10.2003 Откуда: Брест Фото: 47
Пятое задание:
{Ввести 15 целых чисел. определить сколько из них принимает наибольшее значение.}
Код:
Var Mas : array [1..15] of longint; i, count : byte; max : longint; Begin max:=0; For i:=1 to 15 do Begin Write('Введите ',i,'-е число : '); ReadLn(Mas[i]); If Mas[i]>max then max:=Mas[i]; End; count:=0; For i:=1 to 15 do If Mas[i]=max then inc(count); WriteLn('Количество чилес, принимающих наибольшее значение = ',count); End.
Остальные без теории не получиться...
Есть непонятные задания...например третье и четвёртое.
Первое легкое, но писать больше... может от нечего делать напишу... не знаю...
_________________ А ещё недавно ждали AMD Steamroller на AM3+
Последний раз редактировалось AlexZerg 09.06.2005 22:09, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения