Тролль Опубликовано 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 Так как в Бейсике перевод строк важен, то, чтобы при просмотре не появились лишние переносы строк лучше смотреть тексты программ в полноэкранном режиме браузера. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти