Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Люди плиз хелп!!!!!!Нужна помощь!
В решении задач:
1)Сформировать одномерный массив из двумерного.Элементы одномерного должны быть равны количествам отрицательных элементов в столбцах.
2)В двумерном массиве, элементы строк, содержащих хотябы один положительный элемент, расположить в порядке возрастания.
3) Увеличить размеры двумерного массива.Перед столбцом содержащим минимальный элемент матрицы,вставить столбец,заданный в виде одномерного массива.
4)Составить программу с подпрограммой для обработки двумерного массива (Необходимо предусмотреть подпрограммы для ввода и вывода элементов массива)В матрицах столбцы с минимальными и максимальными элементами переставить местами.
Надо срочно!Буду очень признателен!!! )))
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don Фото: 1
Знакомый попросил ему дать расшифровку сообщений об ошибках, какие выдаёт Паскаль. Сам он в программирование и английском не очень, а у меня как назло нет такого списка. Может кто подкинет ссылку где скачать можно сей документ на русском языке?
Нужно срочно решить две задачи до завтра (последний день до сдачи остался). Помогите, пожалуйста:
1. "задача на длинную арифметику". Составить программу для вычисления точного значения суммы (даже не знаю, что использовать):
1! +2! + 3! +...+ n! при n > 10
2. "задача на использование множеств". Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз.
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don Фото: 1
Shagrath Для первой задачи юзай функцию для нахождения факториала
Код:
function factor(var x:word):longint; var i:word; j:longint; begin j:=1; for i:=1 to x do j:=j*i; factor:=j; end;
Дальше в цикле суммируй резалт этой функции от i.
Для второй можно взять массив из 26 элементов. Обнулить его - и затем идя по строчке по букве прибавлять в соответствующую ячейку еденицу. затем вывести буквы из ячеек в которых больше еденицы. Отредактировано куратором: Lord_of_Darkness. Дата: 24.09.2006 1:14
<Foxtrot> Первая задача обычным способом нахождения суммы факториалов рабоет только до значения n<15, нужно больше пятнадцати, хотя бы до ста.
А для второй нужно использовать множество(а).
Последний раз редактировалось Shagrath 29.06.2006 19:09, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don Фото: 1
Shagrath писал(а):
Первая задача обычным способом нахождения рабоет только до значения n<15, нужно больше пятнадцати, хотя бы до ста.
Это почему? Числа большие получаются? Объявляй как longint. У меня факториал считает до 32, правда реализация и цель вычисления факториала у меня немного другая... Либо для больших чисел поколдовать и использовать real.
При сумме факториалов, количеством даже больше 9, выводит отрицательные числа (разве факториал может быт отрицательным?!). Нужно придумать что-то ещё... препод говорил насчет использования массивов или строк...
Member
Статус: Не в сети Регистрация: 18.03.2004 Откуда: СПб
Lord_of_Darkness писал(а):
<Foxtrot> писал(а):
Нет. Это глюки паскаля при больших числах. Юзай модуль результата.
это не глюк, это банальное переполнение. Для таких больших чисел можно использовать тип comp, или extended, но точность нпотеряется.
Для этой задачи просто надо писать модуль для работы с большими числами. А точнее даже не модуль, а просто длинную сумму (что делается тривиально) и умножение длинного на короткое (это чуть посложнее, но тоже просто).
<Foxtrot> писал(а):
Shagrath писал(а):
препод говорил насчет использования массивов или строк...
Можно сохранять промежуточные результаты в файлы и потом их использовать. Препод странный у вас..
Да тут как раз препод прав - bignum логичнее всего реализовывать через массив.
Впрочем, как я понял, крайний срок уже истек
Ребята помогите мне нужно зделать светофор но фот в чём затача
сам рисунок есть а чтобы мигал цветами соответственно ни как не выходит
вот сам код:
uses graph;
var gr,gd:integer;
begin
gd:=detect;
Initgraph(gr,gd,'');
setcolor(2);
rectangle(200,45,450,460);
circle(325,120,50);
floodfill(325,120,0);
setfillstyle(1,12);
До завтрешнего утра (6:00) нужны полные решения четырёх задач, желательно с коментариями. Времени в обрез, ситуация на вопрос об отчислении студента с третьего курса. Из 15 задач нерешенно, как уже написанно - 4. Вопрос жизни и смерти, можно сказать. Конечно же, если потребуется, то за материальные средства. На самом деле очень серьёзно. Задачи привожу ниже:
1. Тема «Задачи на длинную арифметику».
Составить программу для вычисления точного значения суммы 1! +2! + 3! +...+ n! при n > 10
2. Тема «Множества».
Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз.
3. Тема «Файлы. Типизированные файлы»
Записать в файл последовательного доступа N действительных чисел. Найти разность первого и последнего компонентов файла.
4. «Файлы. Текстовые файлы»
Дан файл, содержащий зашифрованный текст на русском языке. Каждая буква заменяется на следующую за ней (буква я заменяется на а). Получить в новом файле расшифровку данного текста.
Последний раз редактировалось Shagrath 06.09.2006 17:59, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 01.05.2006 Откуда: Питер
Shagrath стукни мне в асю если чего не понятно, 241786.
Код:
program first; var i,j,n,m,r:longint; begin write('?n='); readln(n); r:=0; for i:=1 to n do begin m:=1; for j:=1 to i do m:=m*j; r:=r+m; end; write('result =',r); readln; end.
эт была первая
поясни задачи 2 и 3: во второй пример текста дай. в третьей действительное число это число с плавающей запятой? Добавлено спустя 20 минут четвертая. ограничения - не понимает букву "ё", текст должен быть в родной паскалю кодировке (MS-DOS). кодировка меняется например текстовым блокнотиком bred2 или bred3.
Код:
program fourth; var c:char; f,r:text;
begin assign(f,'input.txt'); reset(f); assign(r,'output.txt'); rewrite(r); while not eof(f) do begin read(f,c); if (ord(c)>127) and (ord(c)<174) or (ord(c)>223) and (ord(c)<239) then case ord(c) of 128: c:=chr(159); 224: c:=chr(175); 160: c:=chr(239); else c:=chr(ord(c)-1); end; write(r,c); end; close(r); close(f); end.
Добавлено спустя 1 минуту, 46 секунд з.з.ы. во второй приведи пример текста и то что должно получиться Добавлено спустя 9 минут, 53 секунды третья. если введено одно значение, оно удваивается.
Код:
program third; var f:file of real; r,res:real; n:integer; c:char;
begin assign(f,'third'); rewrite(f); n:=0; while c<>'n' do begin writeln('chislo?'); readln(r); write(f,r); writeln('more? (y/n)'); read(c); inc(n); end; reset(f); read(f,r); res:=r; seek(f,n-1); read(f,r); res:=res+r; writeln('result: ',res:8:3); close(f); end.
_________________ В технике, модератор — это устройство для уменьшения тяги в топке паровой машины на холостом ходу, что позволяет снизить расход топлива.
Первая, боюсь слишком сложная... Её обычным способом не решишь - нужен модуль для длинной арифметики.
Для второй я даже и не знаю какой текст нужен, любой наверно, в задаче написанно "Дан текст из строчных латинских букв, за которыми следует точка" - за каждой буквой или после текста? Наверно, после каждой буквы. Если так, то тестовый пример примерно такой: входящие данные - "c.o.m.p.u.t.e.r.s.y.s.t.e.m."; ожидаемый результат - "m.t.e.s."
Третья вроде правильно, надеюсь надо было делать так (вроде легко).
В чётвертой получается только половина правильных букв?!
P.S. Почти ночь уже, чёрт. О том, что надо делать задачи узнал, только сегодня днём, да уж..
Member
Статус: Не в сети Регистрация: 01.05.2006 Откуда: Питер
Shagrath четвертая понимает все русские буквы (заглавные и обычные) кроме Ё и ё, остальные символы не меняются.
вторая.
Код:
program second; var a:array[1..26,1..2]of boolean; s:string; i:integer;
begin writeln('input text?'); readln(s); i:=1; while true do begin if a[ord(s[i])-96,1]<> true then a[ord(s[i])-96,1]:=true else if a[ord(s[i])-96,2]<>true then a[ord(s[i])-96,2]:=true; if i<length(s)-2 then i:=i+2 else break; end; for i:=1 to 26 do if (a[i,1]=true) and (a[i,2]=true) then write(chr(i+96),'.'); end.
_________________ В технике, модератор — это устройство для уменьшения тяги в топке паровой машины на холостом ходу, что позволяет снизить расход топлива.
Последний раз редактировалось koi-8® 19.02.2008 16:15, всего редактировалось 1 раз.
На счёт четвёртой: каким тестовым примером пользовался? У меня не все буквы получаются. Например, не меняется "я", "п", "э" и ещё парочка. Если проблема в кодировке, то какую надо ставить в "бреде"?
Member
Статус: Не в сети Регистрация: 01.05.2006 Откуда: Питер
тест - буквы русского алфавита Аа Бб Вв Гг...
посмотрел, поправил сорц. теперь работает.
Код:
program fourth; var c:char; f,r:text;
begin assign(f,'input.txt'); reset(f); assign(r,'output.txt'); rewrite(r); while not eof(f) do begin read(f,c); if (ord(c)>127) and (ord(c)<176) or (ord(c)>225) and (ord(c)<240) then case ord(c) of 128: c:=chr(159); 224: c:=chr(175); 160: c:=chr(239); else c:=chr(ord(c)-1); end; write(r,c); end; close(r); close(f); end.
_________________ В технике, модератор — это устройство для уменьшения тяги в топке паровой машины на холостом ходу, что позволяет снизить расход топлива.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения