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 последних столба. Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти