bayarookie Опубликовано 16 мая, 2009 Жалоба Поделиться Опубликовано 16 мая, 2009 PapiruSМне, например, нихрена не понятна задача,типа так что-ли:var s = '12345678910111213141516171819';begin readln(k); for i := 1 to Length(s) do if i = k then writeln(s);фигня какая-то Цитата Ссылка на комментарий
X-tender Опубликовано 16 мая, 2009 Жалоба Поделиться Опубликовано 16 мая, 2009 bayarookie, ему нужен "другое решение" нежели то что я давал ему:function dec_cnt(t:integer):integer;var i:integer;begin i:=1; while (t>=10) do begin t:=t div 10; inc(i); end; result:=i;end;function n_dec(t,i:integer):integer;var j:integer;begin j:=dec_cnt(t)+1-i; while (j>1) do begin t:=t div 10; dec(j); end;result:=t mod 10;end;var i,k:integer;beginreadln(k);i:=1;while (k>dec_cnt(i)) dobegin k:=k-dec_cnt(i); inc(i);end;writeln('Result = ',n_dec(i,k));end. Цитата Ссылка на комментарий
PapiruS Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 bayarookieпоследовательность эта бесконечная, в ней выписаны подряд все натуральные числа:123456789...20212223...30313233...4142...............100101102103...1000100110021003............................... 1000000....она не вводитися с клавиатуры, а просто задана мысленно))) Нужно выдать к-ую цифру этой посл-ти, где к-вводится с клавыИ задача эта на тему циклы не строки и не масивы и не процедуры и ф-ии.плз решитеДобавлено спустя 2 минуты 27 секунд:канешна с помощью массивов или строк она решается в одну строку))) но мне задали ее решить на тему циклические алгоритмы. Цитата Ссылка на комментарий
bayarookie Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 PapiruSа как мысленно ввести в программу бесконечную последовательность из чисел?И вообще, правильно сформулированный вопрос - половина ответа. Цитата Ссылка на комментарий
PapiruS Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 bayarookieничего вводить не надо.Последовательность уже дана,вводится тока число k, нужно вывести на экран k-ую цифру бесконечной последовательности состоящей из подряд выписанных натуральных чисел:123456789101112131415.....100101102103......100000.........допустим k=15 значит на экране должно быть 2, если k=7 значит 7. Цитата Ссылка на комментарий
ght Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 Дан номер года. Найти число дней в этом году . В современном календаре каждый год номер которого делятся на 100 и не делится на 400. Например 1900 год не высокосный а 2000 год высокосный!Другая задача!Составте программу проверяющию верно ли утверждение что введеное вам и целое число делится без остатка на 3 Цитата Ссылка на комментарий
X-tender Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 PapiruS, каких еще массивов и строк... тут они совершенно неуместны. так и быть без функций тебе переделал (а вообще сам хоть бы немного пробовал понять, что и как):var i,k:integer; i_dec_cnt,i_n_dec:integer; f_i,f_j,f_t,result:integer;beginreadln(k);i:=1;i_dec_cnt:=1;//while (k>dec_cnt(i)) dowhile (k>i_dec_cnt) dobegin// k:=k-dec_cnt(i); k:=k-i_dec_cnt; inc(i);// from function dec_cnt f_i:=1;f_t:=i; while (f_t>=10) do begin f_t:=f_t div 10; inc(f_i); end; i_dec_cnt:=f_i;// end functionend;//result f_j:=i_dec_cnt+1-k; while (f_j>1) do begin i:=i div 10; dec(f_j); end;result:=i mod 10;//end resultwriteln('Result = ',result);end. Цитата Ссылка на комментарий
bayarookie Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 PapiruSа как из мысли выцепить k-ую цифру?ghtreadln(y);if (y / 4) = (y div 4) then writeln(366)else writeln(365)а 100 и 400 - это откуда?readln(x);if (x / 3) = (x div 3) then writeln('делится на 3')else Цитата Ссылка на комментарий
PapiruS Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 X-tenderспасиба за решение. надо вот тока теперь разобраться.// это как я понял коменты? Цитата Ссылка на комментарий
X-tender Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 PapiruS, даДобавлено спустя 6 минут 55 секунд:ght,readln(y);if ((y mod 4<>0) or ((y mod 100=0) and (y mod 400>0)))then writeln(365)else writeln(366); Цитата Ссылка на комментарий
ght Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 я когда задачу вбиваю в pAscal ABC "readln(y); пишет неизвестный идентификатор " Цитата Ссылка на комментарий
X-tender Опубликовано 17 мая, 2009 Жалоба Поделиться Опубликовано 17 мая, 2009 ghtопиши переменную y:var y:integer; Цитата Ссылка на комментарий
forwA|LDA|Rd Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 Дана действительная матрица размера nxm; организовать однонаправленный список строк матрицы, упорядоченных: а) по неубыванию значений первых элементов строк. б) по невозрастанию значений наибольших элементов строк. Ух, сложнятина! Не понимаю! Обьясните пожалуйста! Цитата Ссылка на комментарий
martinges Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 насколько я понял нужно тупо создать процедурку формирования строки в матрице по одноноправленному списку, перекидываем ссылку на возрастающий первый элемент следующей строки.пример:1 2 2 3 || 1 2 2 34 5 6 7 || 2 3 4 62 3 4 6 || 4 5 6 7 Цитата Ссылка на комментарий
APEXER Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 Напишите, пожалуйста, на Паскале с помощью графа!как построить график y=A*exp(x){условие задачи}НУ я ПОСМ, что exp(x)=e^xУ меня вылазит ошибка invalid qualifierx3 как делать! срочно! plz Цитата Ссылка на комментарий
forwA|LDA|Rd Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 насколько я понял нужно тупо создать процедурку формирования строки в матрице по одноноправленному списку, перекидываем ссылку на возрастающий первый элемент следующей строки.пример:1 2 2 3 || 1 2 2 34 5 6 7 || 2 3 4 62 3 4 6 || 4 5 6 7A какие операторы использовать надо??? Не знаю как делать!!! *29 А надо! *89 Цитата Ссылка на комментарий
martinges Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 new()- выделение памяти в кучеdispose()-освобождение памятиструктура однонаправленной очереди, если не изменяет память:din=^zap;zap=recordx:integer;//контентnext:din;//ссылка на следующий элементend;APEXERэээ дык вроде есть же функция exp(x) значение функции вещественное, входящая переменная вещественная..... зачем тебе e в степени x Цитата Ссылка на комментарий
APEXER Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 program graficfunction;uses graph;var grdriver:integer; grmode:integer; errcode:integer; x,y,x1,y1,cx,cy,xg:integer;begingrdriver:=detect;initgraph(grdriver, grmode,'');errcode:=graphresult;if errcode=grok then begin cx:=round(getmaxx/2); cy:=round(getmaxy/2); line(0,cy,getmaxx,cy); line(cx,0,cx,getmaxy); for x:=-xg to xg do begin x1:=x+cx; y:=exp(x); y1:=getmaxy-round((y/20+cy)); circle(x1,y1,2) end; settextstyle(0,0,2); outtextxy(180,350,'rpaqpuk f y=exp(x)'); readln; closegraph; end else writeln('graphics error:', grapherrormsg(errcode));end.Что здесь неправильно? Что исправить надо? Добавить? Цитата Ссылка на комментарий
martinges Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 "y" у тебя целое и ты пытаешься присвоить вещественное exp(x) Цитата Ссылка на комментарий
APEXER Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 !=Вовк@=!Тебе кто нибудь ответил???? Если да, напиши прогу в спойлер, если не трудно! *22 Цитата Ссылка на комментарий
APEXER Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 аааааанажимаю Alt+F9 => Ctrl+F9 => Alt+F5 Выдает:graphics error:Device driver file not found (EGAVGA.BGI) Цитата Ссылка на комментарий
Dik Опубликовано 19 мая, 2009 Жалоба Поделиться Опубликовано 19 мая, 2009 APEXERПути к библиотекам пропиши (в Options->Directories) Цитата Ссылка на комментарий
PapiruS Опубликовано 20 мая, 2009 Жалоба Поделиться Опубликовано 20 мая, 2009 PapiruS, каких еще массивов и строк... тут они совершенно неуместны. так и быть без функций тебе переделал (а вообще сам хоть бы немного пробовал понять, что и как):var i,k:integer; i_dec_cnt,i_n_dec:integer; f_i,f_j,f_t,result:integer;beginreadln(k);i:=1;i_dec_cnt:=1;//while (k>dec_cnt(i)) dowhile (k>i_dec_cnt) dobegin// k:=k-dec_cnt(i); k:=k-i_dec_cnt; inc(i);// from function dec_cnt f_i:=1;f_t:=i; while (f_t>=10) do begin f_t:=f_t div 10; inc(f_i); end; i_dec_cnt:=f_i;// end functionend;//result f_j:=i_dec_cnt+1-k; while (f_j>1) do begin i:=i div 10; dec(f_j); end;result:=i mod 10;//end resultwriteln('Result = ',result);end.можешь мне объяснить ход решения задачи плз?По какому правилу мы нашли эту цифру. А то куча переменных и трудно разобраться. Цитата Ссылка на комментарий
cloudy Опубликовано 20 мая, 2009 Жалоба Поделиться Опубликовано 20 мая, 2009 Создать базу данных следующей структуры:ФИО, марка автомобиля, цвет, номер. составить форму для просмотра полной информации об автомобилях,предусмотрев в ней команды для перехода на следующую\предыдущую запись, перехода на начальную\конечную запись, добавления\удаления записи,редактирования текущей записи.определить:-сведения об автолюбителях, имеющих автомобиль заданной марки и цвета-марки автомобилей, номер которых начинается с заданной группы символов-количество автомтбилей белого цвета-произвести сортировку по одному, двум или трем полям-вывести итоговые данные на дисплей и в текстовый файля сам вкраток сделал помогите доделать плиз или подкиньте ссылку где примерно такая же программаprogram Kursovaya1;uses crt;const n=3; k=0;type rec=record FIO:string [30]; marka:string [10]; colour:string [13]; number:integer; end; mas=array [1..n] of rec;var i,flag,kr:byte; f:file of rec; mashina:mas; auto:rec;procedure vvod; begin rewrite (f); for i:=1 to n do begintextcolor(15); write ('FIO vladelca: '); readln (auto.FIO);textcolor(2); write (' marka avtomobilia: '); readln (auto.marka);textcolor(14); write (' cvet mashini: '); readln (auto.colour);textcolor(13); write (' nomer mashini: '); readln (auto.number);textcolor(4); write (f,auto); end; close (f); end;procedure vivod; begin reset (f); for i:=1 to n do begin read (f,auto); writeln (auto.FIO:30, auto.marka:10, auto.colour:13, auto.number:8 ); end; close (f); readkey; end;begin clrscr; assign(f,'automobile.dat'); flag:=0; textbackground(1); clrscr; window(10,5,70,20); textbackground(0); clrscr; repeat writeln ('1. vvod'); writeln ('2. vivod'); writeln ('0. vihod'); write ('vvedite nomer: '); readln (kr); case kr of 1:vvod; 2:vivod; 0:break; end; flag:=1; until flag=0;end. Цитата Ссылка на комментарий
Apocalipsis Опубликовано 21 мая, 2009 Жалоба Поделиться Опубликовано 21 мая, 2009 Напишите пожалуйста программы по заданным условямПервая задача выглядит так:Задан массив действительных чисел. Определить , сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций , в которых происходит смена знака. Вторая задача так:Вычесть из элементов нечетных столбцов значения элементов четных столбцов и вывести на печать 4 последних столба. Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.