Тролль Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 strekoza: Всем задачам задача... была на форуме много лет назад в теме "Учимся считать...". Только там были не кошки, а курицы. Программа: var c,h:real; begin write('Cats? ');readln©;write('Houres? ');readln(h);Writeln(2/3*c*h:5:1,' mice :(');readln end. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Хулиганка Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 В Паскале-даны натуральные числа к1,к2,к3...,м-число последовательностей.КАждая тройка чисел задает координаты центра квадрата (к,к[i+1]),а длину стороны к[i+2].Построить и закрасить разными цветами квадраты. с программкой помог великий Тролль))респект ему))) uses Graph,CRT; var i,j,p,m,GrDriver,GrMode:integer; a:array[1..100,1..3]of integer; begin Write('m ? '); Readln(m); WriteLn('Vvedite nabori chisel po tri chisla, razdelennih probelami '); for i:=1 to m do for j:=1 to 3 do Read(a[i,j]); Readln; GrDriver:=VGA; GrMode:=VGAHi; InitGraph(GrDriver,GrMode,'\TP\BGI'); if GraphResult<>GrOk then begin WriteLn('Error! Where is graphic driver?'); i:=Ord(ReadKey); Halt end; for i:=0 to m do begin p:=a[i,3] div 2; SetBkColor (White); SetFillStyle(1,i mod 15); Bar(a[i,1]-p,a[i,2]-p,a[i,1]+p,a[i,2]+p) end; i:=Ord(ReadKey) end. а как по этой красоте теперь блок-схему построить?)))оч надо)) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 Mike497: Из первого поста Shurr'а в этой теме: ВНИМАНИЕ: помните, что вам никто ничего здесь не должен.После Вашего личного сообщения, я Ваши задачи решать не буду :D. Мне легче... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Mike497 Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 Тролль, извините, если что-то не так сказал... :D Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 (изменено) Хулиганка: а как по этой красоте теперь блок-схему построить?)))оч надо))Перерисовывать текст программы внутрь ромбиков и квадратиков - занятие для младшего школьного возраста, кроме усидчивости, ничего не требует. Да и рисовать блок-схемы в наше время - то же, что добывать огонь трением. Советую воспользоваться Программой по автоматическому построению блок-схем Дмитрия Захаркина. Начертание блок-схем в этой программе может не совсем совпадать с тем, что вам давали, при желании можно подправить их вручную, в этом посте есть ссылка на реферат с примерами ручного построения блок-схем. Изменено 28 апреля, 2009 пользователем Тролль Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Хулиганка Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 Хулиганка: Перерисовывать текст программы внутрь ромбиков и квадратиков - занятие для младшего школьного возраста, кроме усидчивости, ничего не требует. Да и рисовать блок-схемы в наше время - то же, что добывать огонь трением. Советую воспользоваться Программой по автоматическому построению блок-схем Дмитрия Захаркина. Начертание блок-схем в этой программе может не совсем совпадать с тем, что вам давали, при желании можно подправить их вручную, в этом посте есть ссылка на реферат с примерами ручного построения блок-схем. спс еще раз)))схема супер)))у нас таких точно еще никто не пытался сдавать)))все обалдеют)) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 1 мая, 2009 Жалоба Поделиться Опубликовано 1 мая, 2009 http://www.softboard.ru/index.php?s=&s...st&p=444876 еще раз прошу помощи Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 1 мая, 2009 Жалоба Поделиться Опубликовано 1 мая, 2009 Перехват клавиш void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key){if((Key>=48)&&(Key<=57))//Перевірка цифр BtnPress(StrToInt(Key));if(Key == 27)//Перевірка Escape SpeedButton32Click(Sender);if((Key=='=')||(Key==13))//Перевірка = або Enter SpeedButton23Click(Sender);if(Key=='+')//Перевірка + { DoOp(13); f=false; }if(Key=='-')//Перевірка - { DoOp(14); f=false; }if(Key=='*')//Перевірка * { DoOp(15); f=false; }if(Key=='/')//Перевірка / { DoOp(16); f=false; }if((Key==',')||(Key=='.'))//Перевірка . або , SpeedButton12Click(Sender);if(Key==8)//Перевірка BackSpace SpeedButton34Click(Sender); }//--------------------------------------------------------------------------- Функия обработки нажатия клавиш void __fastcall TForm1::BtnPress(int TagVal) //Вивод цифр на табло{if(!f)//Перша цифра не введена { StaticText1->Caption=IntToStr(TagVal);//Вивод нажатої цифри на табло f=true;//Перва цифра введена }else//Перша цифра введена {if(StaticText1->Caption=="0")//Перва цифра 0 StaticText1->Caption=IntToStr(TagVal);//Заміна 0 нажатою цифроюelse//Перша цифра не є 0 StaticText1->Caption=StaticText1->Caption+IntToStr(TagVal);//Те що на табло + те що нажали }}//--------------------------------------------------------------------------- При нажатии клавиш форма вообще не реагирует и ничего в StaticText1 не заносится. В чем мможет быть ошибка? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Lion HC Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 У меня Ваш код работает!!! Скорей всего, на Вашей форме есть какойто обект (например: TButton), который обрабативает нажатие кнопок сам, не передавая управление форме. Для каждого такого обекта нужно указать обработчиком события OnKeyPress = FormKeyPress А саму процедуру обработки я би немного изменил: if((Key>=48)&&(Key<=57))//Перевірка цифр{BtnPress(StrToInt(Key)); return;}switch (Key){case VK_ESCAPE: // Esc SpeedButton32Click(Sender); break; case '=': // = case VK_RETURN: // Enter SpeedButton23Click(Sender); break; case '+': // + ShowMessage ("+"); DoOp(13); f=false; break; case '-': // - DoOp(14); f=false; break; case '*': // * DoOp(15); f=false; break; case '/': // \ DoOp(16); f=false; break; case ',': // , case '.': // . SpeedButton12Click(Sender); break; case VK_BACK: // BackSpace SpeedButton34Click(Sender); break; default: return;} P.S.: и еще, присваивание f=false; лучше помистить внутрь функции DoOp(int) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 Спасибо за помощь. Так и не нашел почему на форме не работает. потому передал обработку на какой-то чекбокс. Благо все отлично работает. Спасибо еще раз. И за исправления. ) :doh: Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Lion HC Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 Да незашто. :D Код можно било и не исправлять... Главное: В моем коде лишний рядок: ShowMessage ("+"); :doh: Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 я заметил при запуске))) Интереснаяя вещь...сначала я пробовал просто поставить кнопку 1*1 пиксел и ей дать обработку. работало все кроме Enter. Чекбокс справляется с каждой кнопкой) Еще вопросик - как открывать другую форму с текущей? Например я взял шаблон AboutBox для пункта "О программе" . Отредактировал. Кнопка на Form1 должна запускать форму AboutBox. Знаю только что надо использовать ShowModal Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 Разобрался. Спасибо еще раз всем за помощь Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Lion HC Опубликовано 2 мая, 2009 Жалоба Поделиться Опубликовано 2 мая, 2009 А как виглядит Ваша форма? Можна ПринтСкрин? Чтобы вызвать другую форму, надо сначала включить её заголовочный файл в текущую форму: //---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "Unit1.h"[color=#FF0000][b]#include "Unit2.h"[/b][/color] тоесть дописать: #include "Unit2.h" Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 3 мая, 2009 Жалоба Поделиться Опубликовано 3 мая, 2009 Lion HC: У меня шабонная форма была AboutBox. Следовательно прописать надо было #include <ABOUT.h>. Вот назрела последняя деталь калькулятора - исчисление в разных системах: 8, 16, 2. Примерчик мож у кого есть? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 3 мая, 2009 Жалоба Поделиться Опубликовано 3 мая, 2009 Проще всего преобразовывать введенную строку с изображением числа в разных системах счисления в обычное целое, работать дальше с ним, а потом результат из числа переводить обратно в строку в соответствии с заданным основанием системы счисления. Для таких преобразований в C++ есть готовые функции, но их названия в разных компиляторах разные. Обзор их есть тут. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 Спасибо за помощь. Вот там есть такая хорошая функция IntToHex. Видел в нете библиотеку для Delphi с функциями IntToOct, intToBin, OctToInt и т.д. Может для С++ тоже такая есть? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 C++ намного разнообразнее по встроенным возможностям, чем Delphi. Вместо IntToHex можно использовать обычную sprintf. Но она не работает с двоичными числами. Поэтому надо использовать, к примеру, функции strtol и ltoa, они работают с любыми основаниями от 2 до 36. Например, тут я преобразую число в двоичной записи в длинное целое и потом обратно. Borland C++ у меня не установлен, поэтому проверил в Dev-C++. #include<stdio.h>#include<stdlib.h>int main(){char *end_ptr; long val; char str[20]="101101"; int r=2; val=strtol(str,&end_ptr,r); printf("%ld\n",val); ltoa(val,str,r); printf("%s\n",str);getchar();} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
onixn Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 Пусть y0=0; yk = (yk-1+1)/(yk-1+2), k=1, 2, … Дано действительное eps>0. Найти первый член yn, для которого выполнено yn-yn-1 < eps. yk - это игрик катое. соответственно когда yk-1 это от k отнимаем единицу. я знаю что решение этой задачи тут уже лежит но мне нужно на C. с помошью цикла. 3 разными способами. и надо завтра сдавать) выручайте =) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 onixn: Да еще и тремя способами :blink: :D #include<stdio.h>main(){float eps,ys=-1,y=0; printf("eps? "); scanf("%f",&eps);while(y-ys>=eps){ys=y;y=(ys+1)/(ys+2);}printf("%f\n",y);getchar();getchar();} Второй способ: заменяем строку while... на do{ys=y;y=(ys+1)/(ys+2);}while(y-ys>=eps); Третий способ: заменяем строку while... на for(;y-ys>=eps;){ys=y;y=(ys+1)/(ys+2);} Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
onixn Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 Очень благодарен за ответ. но я сам немного поделал , людей знакомух помучал и в итоге получил своё, родное=) не думал что есть такие замечательные сайты и люди) теперь я тут часто буду) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
prev Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 На бейсике можете? =) Задача: Даны натуральные числа m и n. Среди множества четных чисел вывести те, номера которых - простые числа в диапазоне от m до n. =) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 prev: INPUT "m"; m: INPUT "n"; n: IF m < 2 THEN m = 2 FOR i = m TO n k = 0 FOR j = 2 TO SQR(i) IF i MOD j = 0 THEN k = 1: EXIT FOR NEXT IF k = 0 THEN PRINT 2 * i NEXT Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
prev Опубликовано 4 мая, 2009 Жалоба Поделиться Опубликовано 4 мая, 2009 Ой! Спасибо! Выручили! =) И последнее... Дана матрица X(n,m) целых чисел. Упорядочить ее строки по неубыванию произведений элементов строк. Вывести исходную и полученную матрицы. и Определить сумму Элементов массива X(n) с нечетными номерами. Вывести массив и полученную сумму. Заранее спасибо =) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 5 мая, 2009 Жалоба Поделиться Опубликовано 5 мая, 2009 prev: DIM n AS INTEGER, m AS INTEGER: INPUT "n"; n: INPUT "m"; mDIM x(n, m) AS INTEGER, p(n) AS INTEGERDIM l AS INTEGER, i AS INTEGER, j AS INTEGER, k AS INTEGERFOR i = 1 TO n: FOR j = 1 TO m: PRINT "X("; i; ","; j; ") "; : INPUT x(i, j): NEXT: NEXTPRINT "source array"FOR i = 1 TO n: FOR j = 1 TO m: PRINT USING "#####"; x(i, j); : NEXT: PRINT : NEXTFOR i = 1 TO n: p(i) = 1: FOR j = 1 TO m: p(i) = p(i) * x(i, j): NEXT: NEXTFOR i = 1 TO n - 1: FOR j = 1 TO n - iIF p(j) > p(j + 1) THENl = p(j): p(j) = p(j + 1): p(j + 1) = lFOR k = 1 TO m: l = x(j, k): x(j, k) = x(j + 1, k): x(j + 1, k) = l: NEXTEND IFNEXT: NEXTPRINT "result array"FOR i = 1 TO n: FOR j = 1 TO m: PRINT USING "#####"; x(i, j); : NEXT: PRINT : NEXT INPUT "n"; n: DIM x(n)FOR i = 1 TO n: PRINT "X("; i; ") "; : INPUT x(i): NEXTs = 0: FOR i = 1 TO n STEP 2: s = s + x(i): NEXTPRINT "S="; sFOR i = 1 TO n: PRINT USING "#######.##"; x(i); : NEXTPRINT Так как в Бейсике перевод строк важен, то, чтобы при просмотре не появились лишние переносы строк лучше смотреть тексты программ в полноэкранном режиме браузера. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.