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