Телепаты в отпуске. Гугл в помощ, первый результат по запросу: перевод из двоично в десятичную c# P.S. ЯП не указан - телепаты в отпуске. P.P.S. задай вопрос гуглу - четко и кратко.Он тебя поймёт и поможет, показав уже готовые решения.
вообщем всё вроде допили только вот не получаеться записаться в файл... вот сам исходник PHP: unit idenity; {$mode objfpc}{$H+} interface uses Classes, SysUtils, process, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls; type { TForm2 } TForm2 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Label1: TLabel; Process1: TProcess; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private cnt: integer; // количество попыток passAdmin, passUser: string; rest:integer; s,c: string; //моё tmp:char; //моё len,i:integer;//моё public function getResult:integer; { public declarations } end; var Form2: TForm2; implementation { TForm2 } procedure TForm2.Button2Click(Sender: TObject); begin Rest := 3; close; end; procedure TForm2.Button1Click(Sender: TObject); begin if Edit1.Text = passAdmin then begin Rest := 1; close; end; if Edit1.Text = passUser then begin Rest := 2; close; end else begin dec(cnt); showMessage('Ошибка при вводе пароля'); if cnt = 0 then begin Rest := 3; Process1.ApplicationName := 'lr4.exe'; Process1.Execute; close; end; end; begin case DayOfWeek( date ) of // вывод дня из системного времени 1: s := 'воскресенье'; 2: s := 'понедельник'; 3: s := 'вторник'; 4: s := 'среда'; 5: s := 'чтверг'; 6: s := 'пятница'; 7: s := 'суббота'; end; //конец! begin len:=length(s); //перевод дня наоборот for i :=1 to (len div 2) do begin tmp:=s[len-i+1]; s[len-i+1]:=s[i]; s[i]:=tmp; //конец end; passAdmin := passAdmin + s;//обьеденение строк в одну!! end; {begin // чтение пароля assignFile(f, 'pass.txt');//открываем! //ReWrite(f); // повторно на запись! WriteLn(f, c);//пишем! closeFile(f); // закрываем! end;} end; end; procedure TForm2.FormShow(Sender: TObject); var f: textFile; deny: integer; begin cnt := 3; // чтение реестра assignFile(f, 'reg.txt'); reset(f); readln(f, deny); closeFile(f); if deny = 1 then begin // чтение пароля assignFile(f, 'pass.txt'); reset(f); readln(f, passAdmin); readln(f, passUser); closeFile(f); end else begin ShowMessage('Программа заблокирована'); rest := 3; halt(0); end; end; function TForm2.getResult:integer; begin getResult := rest; end; initialization {$I idenity.lrs} end.
дак это то понятно) мне можно сказать калькулятор двоичной системы нужен и чтоб мог без проблем все считать, и даже с остатком.
Неет именно написать) и самое главное чтоб я вводил два числа в 10-ой СС(для операций с ними), а он их перевел в 2-ую и вывел на экран эти числа(переведенное), а затем уже производил над ним все действия(в 2-ой СС) сложение, вычитание, умножение и деление. Можно самым простейшем способом. главное чтоб я мог сам вводить число, потом прога выводила на экран перевод и осуществляла операции.
Задача: Прочитать из файла input.txt выражение записанное в постфиксной форме, необходимо записать в файл output.txt в инфиксную форму. Используя стек, библиотеку stdio.h, stdlib.h. Вот наброски, но что не идет. А именно: Input - ( ( 2 3 ) + 5 * ( 2 3 ) + ) / 6 Output - ((2+3)*5(2+3)/)6 Вот моя программа: Code: #include<stdio.h> #define max 16 struct stack { char a[max]; char top; }; //Функция проверки на пустоту int empty (struct stack *ps) { if (ps -> top == -1) return 1; else return -1; } //Функция записи в файл void output (struct stack *ps) { int i; FILE *fl; fl=fopen("output.txt", "a"); for (i=0; i<max; i++) { fprintf (fl, "%c", ps-> a[i]); } printf("\nOK\n"); } //Функция проверки на полноту int full (struct stack *ps) { if (ps -> top == max - 1) return 1; else return -1; } //функция добавления элемента void push (struct stack *ps, char x){ char y; char tmp; char tmp1; char t; int u; if (x=='+' || x=='-' || x=='*' || x=='/') { if (x!='/' && ps-> a[ps->top] == ')' && ps -> a[ps->top-1]!=')') { t = ps -> a[ps->top]; tmp1= pop (ps); printf ("Element %c is delling\n", tmp1); } y = ps->a[ps->top]; tmp = pop (ps); printf ("Element %c is delling\n", tmp); ps -> top++; ps -> a[ps -> top] = x; printf ("OK! Element - %c is adding!\n", x); ps -> top++; ps -> a[ps -> top] = y; printf ("OK! Element - %c is adding!\n", y); if (t==')') { ps -> top++; ps -> a[ps -> top] = t; printf ("OK! Element - %c is adding!\n", t); t=0; } } else { ps -> top++; ps -> a[ps -> top] = x; printf ("OK! Element - %c is adding!\n", x); } u=full(ps); if (u==1) output (ps); return; } //Функция удаления элемента int pop (struct stack *ps) { ps -> top--; return ps -> a[ps -> top+1]; } int main () { int tmp; FILE *fp; char i; struct stack c; c.top=-1; printf ("Hello! \n"); fp=fopen("input.txt", "r"); while (fscanf(fp, "%s", & i)==1) { tmp=empty(&c); if(tmp==1) { push (&c, i); } if (tmp!=1) { push (&c, i); } } }
Помогите!)) Вот есть код для 10-ой СС, но нужно чтоб он умел делать все это же, но с 2-ой следующем образом: 1) ввожу 9+9 он выводит это на экран как 9+9=18 и 1001+1001=10010 2) ввожу 9-5 он выводит это на экран как 9-5=4 и 1001-101=100 3) деление... 4) умножение... И ЕСЛИ не сложно чтоб результат вычислений записывался как в 2-ой так и в 10-ой тоже ЗАРАНЕЕ СПАСИБО! Code: #include <iostream> using namespace std; int main() { setlocale(LC_ALL,".1251"); const int maxCnt=5; float a[maxCnt],b[maxCnt],res[maxCnt]; int cnt=1; char zn[maxCnt]; char answer='y'; while (answer=='y' || answer=='Y') { cout<<"Введите переменную: "; cin>>a[cnt]>>zn[cnt]>>b[cnt]; switch(zn[cnt]) { case '+': res[cnt]=a[cnt]+b[cnt]; break; case '-': res[cnt]=a[cnt]-b[cnt]; break; case '/': if (b==0) { cout<<"Такого оператора не существует"<<endl; continue; } res[cnt]=a[cnt]/b[cnt]; break; case '*': res[cnt]=a[cnt]*b[cnt]; break; default: cout<<"Такого оператора не существует"<<endl; continue; } cout<<"Result = "<<res[cnt]<<endl; if (cnt==maxCnt) { cout<<"Достигнут лимит вычислений "<<endl; break; } cout<<"Продолжить? [y/n] "; cin>>answer; cnt++; } return 0; }
помогите кому не лень... Нужно переписать эту программу с динамическим выделением памяти (malloc, realloc), она была написана со статичесим но преподу не понравилась, а с выделением памяти какая то жопа у меня, напортачил и вообще запутался....
вот так ) запустил, работает! ------------------------------------------------------------- на будущее вот пример malloc > buFfer = (char*) malloc (i+1); //где i=длина if (buffer==NULL) бла бла бла realloc > numbers= (int*) realloc (mubers, count * sizeof(int)); ----------------------------------------------------------------
Всем привет, помогите пожалуйста срочно нужно написать прогу на С++ вот суть: Циклические вычислительные процессы задание : Вычислить и вывести на экран в виде таблицы значение F на интервале Xнач до Хкон с шагом dX, значения a,b,c,Xнач,dX ввести с клавиатуры a,b и c действительные числа. Программа должна содержать простейшее меню, запрашивающее у пользователя о продолжении или завершении работы с программой. Формула по которой все расчитывается а да и где будет происходить деление 0 на 0 нужно чтобы ошибку выводило а не вылетала прога.
Вообщем с этим я боле менее сам разобрался будет примерно так //--------------------------------------------------------------------------- #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused #include <stdio.h> #include <conio.h> #include <math.h> double a,b,c,x,x1,x2,dx,F; int main(int argc, char* argv[]) { printf("X1= "); scanf("%lf",&x1); printf("X2= "); scanf("%lf",&x2); printf("dX= "); scanf("%lf",&dx); printf("a= "); scanf("%lf",&a); printf("b= "); scanf("%lf",&b); printf("c= "); scanf("%lf",&c); x=x1; while(x<x2) { if(x<5 && c!=0) {F=-a*x*x-b; printf("\nx=%7.3lf; F=%7.3lf",x,F);} else if(x>5 && c==0) {F=(x-a)/x; printf("\nx=%7.3lf; F=%7.3lf",x,F);} else printf("\nx=%7.3lf; error ",x); else (F=-x/c; printf("\nx=%7.3lf; F=%7.3lf",x,F); x=x+dx; } getch(); return 0; } //---------------------------
Назрел новый вопрос с новой задачкой ! вот суть: ""Задана матрица размером N*N и вектор размерности N. Заменить четные столбцы матрицы на заданный вектор. ""
Как-нибудь так: Code: #include <iostream> #include <vector> #include <time.h> int main() { static const int N = 10; std::vector<std::vector<int>> matrix (N, std::vector<int> (N)); std::vector<int> replace (N); srand(static_cast<unsigned int>(time(NULL))); std::cout<<"Vector:"<<std::endl; for(std::vector<int>::iterator i = replace.begin(); i != replace.end(); ++i) { *i = rand() % 10; std::cout<<*i<<' '; } std::cout<<std::endl; std::cout<<"Matrix:"<<std::endl; for(std::vector<std::vector<int>>::iterator i = matrix.begin(); i != matrix.end(); ++i) { for(std::vector<int>::iterator j = (*i).begin(); j != (*i).end(); ++j) { (*j) = rand() % 10; std::cout<<*j<<' '; } std::cout<<std::endl; } for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) if(j % 2 == 1) matrix[i][j] = replace[i]; std::cout<<std::endl<<std::endl; std::cout<<"After transform:"<<std::endl; for(std::vector<std::vector<int>>::iterator i = matrix.begin(); i != matrix.end(); ++i) { for(std::vector<int>::iterator j = (*i).begin(); j != (*i).end(); ++j) { std::cout<<*j<<' '; } std::cout<<std::endl; } std::cin.get(); return 0; } Или можешь на algorithm опираться если циклы в таком виде не нравятся...