Помогите плиз решить задачу для экзамена. Delphi В заданном файле хранятся данные, содержащие фразы на русском языке, записанные в обратном порядке (задом-наперёд). Вывести текст, содержащий фразы на русском языке и записанные в нормальном порядке. Подсчитать количество гласных и согласных букв в исходном файле и полученном тексте
Вот с ответов, там есть несколько примеров: http://otvety.google.ru/otvety/thread?tid=0f7fbcc4a1def8b7 А это, если ты знаешь украинский, ну или хоть как-нибудь его понимаешь: http://revolution.allbest.ru/programming/00212304_0.html =)
Я вот статью недавно на эту тему писал Двусвязные списки на С++ Могу если что, кинуть еще своих примеров и один файл с описанием.
Derec, лови.... Code: #ifndef LIST_H #define LIST_H template < class type > class List{ struct node{ type data; node *next; }; node *head; public: List(){ head = NULL; } ~List(); void push_back( type value ); void push_front( type value ); void sort(); void push(); void pop(); void print(); void insert( type key ); void insert( type value, type key ); void start(); void menu(); }; #endif //LIST_H
Code: #include "list.h" //--------------------------------------- // деструктор //--------------------------------------- template < class type > List< type >::~List(){ while( head ){ node *rmv = head; head = head->next; delete rmv; } } //------------------------------------- // добавление элемента в конец списка //------------------------------------- template < class type > void List< type >::push_back( type value ){ node *element = new node; element->data = value; element->next = NULL; if( !head ){ head = element; }else{ node *tmp = head; while( tmp->next ){ tmp = tmp->next; } tmp->next = element; } } //----------------------------------- // добавление в начало списка //----------------------------------- template < class type > void List< type >::push_front( type value ){ node *element = new node; element->data = value; element->next = NULL; if( !head ){ head = element; }else{ element->next = head; head = element; } } //---------------------------- // сортировка выбором //---------------------------- template < class type > void List< type >::sort(){ if( !head ) return; push(); node *current = NULL, *first = NULL, *second = NULL; bool isSorted = false; while( !isSorted ){ isSorted = true; current = head; first = current->next; second = first->next; while( (second) ){ if( first->data > second->data ){ isSorted = false; first->next = second->next; second->next = first; current->next = second; } current = current->next; first = current->next; second = first->next; } } pop(); } //----------------------------------- // добавление в начало //----------------------------------- template < class type > void List< type >::push(){ node *element = new node; element->next = NULL; if( !head ){ head = element; }else{ element->next = head; head = element; } } //-------------------------------- // удаление первого элемента //-------------------------------- template < class type > void List< type >::pop(){ if( !head ) return; node *rmv = head; head = head->next; delete rmv; } //-------------------------------- // печать //-------------------------------- template < class type > void List< type >::print(){ for(node *tmp = head; tmp; tmp = tmp->next) cout << tmp->data << " "; cout << endl; } //---------------------------------- // включение по заданному объекту //---------------------------------- template < class type > void List< type >::insert(type value, type key){ node *tmp = head, *pred; while( tmp ){ if( tmp->data == key ) break; pred = tmp; tmp = tmp->next; } if( !tmp ) throw "Неверный ключ для поиска!\n"; node *element = new node; element->data = value; element->next = NULL; if( tmp == head ){ element->next = head; head = element; }else{ element->next = tmp; pred->next = element; } } //---------------------------------- // включение с сохранением порядка //---------------------------------- template < class type > void List< type >::insert( type key ){ node *element = new node; element->data = key; element->next = NULL; if( !head ){ head = element; return; } node *tmp = head, *pred; while( tmp ){ if( tmp->data > key ) break; pred = tmp; tmp = tmp->next; } if( tmp == head ){ element->next = head; head = element; }else{ if( !tmp ){ pred->next = element; }else{ element->next = tmp; pred->next = element; } } }
Помогите пожалуйста написать прогу на Delphi 7 Доброго времени суток !!! Неполучается поместить рекурсию в MainMenu. Суть задачи создать MainMenu, которое работало бы как дерево каталогов ТриВью. Если сформулировать. Разработать динамическое меню с рекурсивным перебором содержимого папки. Неделю голову ломал, результата НОЛЬ... Помогите Плизззз...)))
помогите плз нужно написать программу на асемблере пощитать уравнение Y = (A+B+C) x D для 8086 буду очень благодарен)
Code: ; ; tasm me.asm ; tlink /t/x me.obj ; ; Y = (A+B+C)xD .model tiny .8086 .code org 100h start: mov ax, word ptr a ; a add ax, word ptr b ; a + b add ax, word ptr c ; (a+b) + c imul d ; (a+b+c) * d mov y, ax ;y = (a+b+c)*d ret a db 1 b db 2 c db 3 d db 4 y dw ? end start
народ! помогите плз, нужно переделать с паскаля на с++... Code: program r_k_m; const n=3; a=0;b=9; type vector=array[1..n] of real; var i,kk,dd,j:integer; ks:longint; x,x0,St,Ct,dS,dC,h,hh,eps:real; ak1,ak2,ak3,T1,T2,Tk:real; f,y,y0,y1,y2,R:vector; ff:text; procedure dy; begin f[1]:=(ak1*(1-y[3]-y[1])/T1; f[2]:=(ak2*y[1]-y[2])/Tk; f[3]:=(ak2*y[2]-y[3])/T2; end; procedure rkm; var k0,k1,k2,k3,k4,z:vector; begin dy; for i:=1 to n do begin k0[i]:=h*f[i]; z[i]:=y[i]; y[i]:=z[i]+k0[i]/3; end; x:=x+h/3; for i:=1 to n do begin k1[i]:=h*f[i]; y[i]:=z[i]+k0[i]/6+k1[i]/6; end; dy; i:=1 to n do begin k2[i]:=h*f[i]; y[i]:=z[i]+k0[i]/8+*k2[i]/8; end; x:=x+h/3; dy; for i:=1 to n do begin k3[i]:=h*f[i]; y[i]:=z[i]+(k0[i]/2-3*k2[i]/2+2*k2[i]/2+2*k3[i]; end; x:=x+h*0.5; for i:=1 to n do begin k4[i]:=h*f[i]; y[i]:=z[i]+k0[i]+4*k3[i]+k4[i])/6; R[i]:=(-2*k0[i]+9*k2[i]+8*k3[i]+k3[i])/30; end; {writeln('1',' h=',h,' k=',k0[1]); read(j);} end; procedure aut_step(var y,y0,y1,y2,f:vector); label 1; begin for i:=1 to n do y0[i]; x0=x; 1: x:=x0; rkm; for i:=1 to n do if abs(R[i])>eps then begin h:=h/2; for i:=1 to n do y[i]:=y0[i]; goto 1; end; dd:=0; for i:=1 to n do if abs(R[i]<(eps/30) then dd:=dd+1; if dd=n then h:=2*h; dd=0; end; end; begin assign(ff,'C:\rkm.txt'); rewrite(ff); writeln(ff,' rkma'); y[1]:=0; y[2]:=0; y[3]:=0; x:=a; h:=1; eps:=1e-2; ak1:=10; ak2:=2: ak3:=2; T1:=0.007; Tk:=0; T2:=0.8; ks:=ks+1; aut_step(y,y0,y1,y2,f); if ks=300 then begin writeln (ff,' x=',x,' Uout=',y[3],' h=,h); ks:=0; end; until x>b; close(ff); end.
Помогите с алгоритмом сложения на Microsoft Visual C++ 6.0 Aлгоритм сложения на Microsoft Visual C++ 6.0 HTML: #include <iostream.h> #include<string.h> #include <stdlib.h> int a[100],b[100],c[100]; int input (int[]); int done (int,int); void output (int); int main() { int len_1,len_2,len_big; cout<<"a="; len_1=input(a); cout<<"b="; len_2=input(b); len_big=done(len_1,len_2); output(len_big); return 0; } int input(int mas[]) { char s[100]; int i,len,pos; cin>> s; len=strlen(s); i=len-1; pos=0; while(i>=0) { mas[pos]=atoi(&s[i]); s[i]='\0'; pos++; i--; } return len; } int done(int l1,int l2,int p) { int i,k; if(l1>l2) k=l1; else k=l2; for(i=0;i<k;i++) { int buf=a[i]; a[i]=b[i]; b[i]=buf; for (i=0;i<k;i++) { c[i]=a[i]-b[i]+c[i+1]; if(c[i]<0) { c[i+1]=1; c[i]=10; } } } cout<<endl; return k; } void output(int k,int p) { int i; while(c[k-1]==0 && k>0) k--; if(p==2) cout<<"-"; for(i=k;i>=k;i--) cout<<c[i]; cout<<endl; }
лаб работа на С++ Нужна помощь в написании программы на visual C++/ 1.создать консольное приложение и составить программу для решения задачи с одномерным массивом.Спроектировать переменную для хранения исх данных и результатов. Массив X(N)(N<=60). Переписать отрицательные элементы массива X последовательно в массив Y. Отпепчатать сформированный массив Y. заранее спасибо
-=megahertz=- Code: #include <iostream> using namespace std; int *X, *Y, N, i, N1; int main() { N1 = 0; cout << "Please enter N: "; cin >> N; X = new int[N]; for(i=0;i<N;i++) { cin >> X[i]; if(X[i]<0) N1++; } Y = new int[N1]; N1 = 0; for(i=0;i<N;i++) { if(X[i]<0) { Y[N1] = X[i]; N1++; } } cout << "----------\n"; for(i=0;i<N1;i++) cout << Y[i] << "\n"; delete X; delete Y; return 0; }
пишу опять с лаб работой...нужна снова помощь в решении программы 1. создать консольное приложение и составить программу для решения задачи с циклическим алгоритмом решения. Предусмотрите ввод начального значения аргумента, конечного значения и величины шага. Предусмотрите проверку корректности исх данных и вывод русскоязычных подсказок. 1.12+a*t-t,t>2 y=фиг.скобка 1-t^3+sin(t),t<1 1.23+2.23*t^5,1<=t<=2
Ребята, задали несколько задач, а циклы на С я не проходил кто нибудь сможет решить вот такие задачи... 1. Написать программу, которая выводит на экран умножения на указанную пользователем цифру 2. Напистаь программу, которая выводит на экран таблицу значений функций у=2х2 -5х-8 в диапозоне от -4 до 4. Шаг изменения аргумента 0.5 3. В последовательности целых чисел определить наименьшее отрицательное число и его порядковый номер
Добрый день! Нужна программа для курсовой работы. 1-Обучающая программа по компонентам панели System в Delphi (С++) 2-Разработать в среде С++ билдер обучающую программу (создание веб-страницы с элементами верстки с помощью слоев)
Как-то так: Code: /* 1. Написать программу, которая выводит на экран умножения на указанную пользователем цифру */ #include <stdio.h> int main() { int i, t; printf("Vvedite cifru: "); scanf("%d", &t); for (i=0; i<=10; i++) printf("%d. %d*%d = %d\n",i,t,i,i*t); return 0; } Code: /* 2. Напистаь программу, которая выводит на экран таблицу значений функций у=2х2 -5х-8 в диапозоне от -4 до 4. Шаг изменения аргумента 0.5 */ #include <stdio.h> int main() { float x,y; for (x=-4; x<=4; x+=0.5) printf("x = %0.1f;\ty = %0.2f\n",x,(2*x*x-5*x-8)); return 0; } Code: /* 3. В последовательности целых чисел определить наименьшее отрицательное число и его порядковый номер */ #include <stdio.h> int main() { int a[] = {1,-6,3,8,9,0,-1,10,9,-2,0,-11}; int i,t=0,m=0; int s = sizeof(a)/sizeof(a[0]); for (i=0; i<s; i++) if(a[i]<0) if(a[i]<t) t = a[i], m=i; printf("a[%d] = %d",m,t); return 0; }
delphi Code: unit Unit13; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, ValEdit, ExtCtrls, StdCtrls, ComCtrls; type Tfilebuffer = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; Button1: TButton; ProgressBar1: TProgressBar; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var filebuffer: Tfilebuffer; i:integer; o:integer; txt:string; txt2:integer; f:textfile; s:string; fff:string; ii:string; ll:string; nn:string; mm:integer; implementation {$R *.dfm} procedure Tfilebuffer.FormCreate(Sender: TObject); begin stringgrid1.Cells[0,0]:='Наименование'; stringgrid1.Cells[1,0]:='Значение'; stringgrid2.Cells[0,0]:='№'; stringgrid2.Cells[1,0]:='Наименование мероприятия'; stringgrid2.Cells[2,0]:='Начало'; stringgrid2.Cells[3,0]:='Конец'; stringgrid3.Cells[0,0]:='Сумма'; end; procedure Tfilebuffer.FormActivate(Sender: TObject); begin if filebuffer.stringgrid1.Cells[0,1]<>'' then begin i:=0; o:=1; txt:=''; txt2:=0; fff:=''; ii:=''; ll:=''; nn:=''; mm:=0; begin AssignFile(F,filebuffer.stringgrid1.Cells[1,1]); Reset(F); while not Eof(F) do begin Readln(F,S); stringgrid2.Cells[i,o]:=S; i:=i+1; if i=4 then begin i:=0; o:=o+1; end; if S='' then i:=i-1; end; CloseFile(F); filebuffer.Stringgrid2.RowCount:=o+1; filebuffer.StringGrid2.Cells[i,o]:=filebuffer.stringgrid2.Cells[1,1]; filebuffer.StringGrid2.Cells[i+1,o]:=filebuffer.stringgrid2.Cells[2,1]; filebuffer.StringGrid2.Cells[i+2,o]:=filebuffer.stringgrid2.Cells[3,1]; end; end; stringgrid3.rowcount:=stringgrid2.rowcount; for mm:=1 to stringgrid3.rowcount do if stringgrid2.Cells[2,mm]<>'' then begin ii:=stringgrid2.Cells[2,mm]; nn:=ii[1]+ii[2]; ll:=ii[4]+ii[5]; stringgrid3.Cells[0,mm]:=inttostr(strtoint(nn)*60+strtoint(ll)); end; end; procedure Tfilebuffer.Timer1Timer(Sender: TObject); begin progressbar1.Position:=progressbar1.Position+20; if progressbar1.Position>=100 then filebuffer.Visible:=false; end; end. ругается вот на эту строку - for mm:=1 to stringgrid3.rowcount do пишет for loop control variable must be simple local variable в чем может быть проблема?
такс, теперь при запуске пишет project ... raised exception class emcideviceerror with message "Данное имя устройства уже используется приложением в качестве псевдонима. Задайте уникальный псевдоним. Process stoped. Use step or run to continue. подскажите, что за ошибка, что за псевдонимы? Прилагаю к вопросу файл с частью кода + небольшая процедура "моргалка" - заставляет мигать кнопку и орать. if (ind_signal='1') then begin mediaplayer1.FileName:=('notify2.wav'); MediaPlayer1.DeviceType:= dtAutoSelect; mediaplayer1.autorewind:=true; mediaplayer1.play; plan_time_s:=strtoint(st2[4]+st2[5])*60+strtoint(st2[7]+st2[8]); oper_time_s:=strtoint(oper_t[4]+oper_t[5])*60+strtoint(oper_t[7]+oper_t[8]); if plan_time_s-oper_time_s<0 then if GroupBox2.Color=GroupBox1.color then GroupBox2.Color:=clRed else GroupBox2.Color:=GroupBox1.color; end; Компилятор не видит ошибок, а при запуске программы выделяется unit17. Code: http://www.megaupload.com/?d=3JVH783R вот ссылка на unit17
delphi в тхт файле содержится расписание в виде: 1 зарядка 07:00 07:30 2 прием пищи 08:00 08:30 в форме имеется 6 полей(memo) в первых 3-х выводится текущее действие и его временные интервалы. в остальных выводится предстоящее действие в с временными интервалами также имеются часы. помогите написать код для осуществления данной задачи