помочь дописать или если есть свой вариант то можно и его Code: procedure TForm2.Timer2Timer(Sender: TObject); var x:integer; begin {Первая мемо} if filebuffer.stringgrid3.cells[0,1]<>'' then for x:=1 to 43 do if obsh_vrm>strtoint(filebuffer.StringGrid3.Cells[0,x]) then begin memo8.Text:=filebuffer.StringGrid2.Cells[2,x]; memo9.Text:=filebuffer.StringGrid2.Cells[3,x]; memo4.Text:=filebuffer.StringGrid2.cells[2,x+1]; memo5.Text:=filebuffer.StringGrid2.cells[3,x+1]; if Memo4.Text='99.99' then Memo4.Text:=' '; if Memo5.Text='99.99' then Memo5.Text:=' '; if Memo8.Text='99.99' then Memo8.Text:=' '; if Memo9.Text='99.99' then Memo9.Text:=' '; end; end; 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); var mm:Integer; begin if filebuffer.stringgrid1.Cells[0,1]<>'' then begin i:=0; o:=1; txt:=''; txt2:=0; fff:=''; ii:=''; ll:=''; nn:=''; 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. вот кусок кода. если надо что-то еще, пиши
есль масив с(n) n<=1000 типа char . Разработать програму, каторая находить и пичатает в лексикографическом порядке: усе большие латинськие букви, что есть в масиве ; все вбальшие латинские букви, каторих нет в масиве ; все цифри, каторие есть в масиве ; все цифри, каторие есть в масиве і повторяютса
Помогите пожалуйста с задачей на pascal. Преобразовать массив B(31) таким образом,что-бы сначала располагались все элементы равные 1,а потом - все остальные. Примерно будет так Code: Program pr1; uses crt; var i:integer; a,b:array[1..31] of integer; begin clrscr; randomize; for i:=1 to 31 do begin B[i]:=random (51)-20; write (B[i]:5); end; end. А вот дальше не знаю как.
Задачи на C++ Здравствуйте, помогите пожалуйста с 2-мя заданиями (сам больше понимаю в Delphi, и пишу курсач по нему. Поэтому на С++ почти нет времени) Вот собственно и задания: 1. Даны действительные числа a0...a6 . Вычислить значение выражения p(x+1)-p(x) , где p(y)=a6y6+a5y5+...a0 . Вычисление p(y) оформить функцией. (Примечание - p(y) и p(x) это посути одно и то же 2. Написать перегруженную функцию, которая проверит, является ли число N простым числом. Заранее благодарен
Надо через второй массив сделать вывод первых цифр равных единице,а потом все остальные,именно с этим и трудности,первый массив сформирован,а второй если сформировываю то вывести сначала единицы не получается.
Помогите плз, задание на С дан txt: надо забить массив значениями из 7ой строки т.е. чтоб было A[1]=6 A[2]=7 .... как считать числа, разделенные запятыми, с определенной строки в файле? подскажите функию, через кот. можно реализовать подобное, сам подумаю еще...
если у тебя конкретно такой файл, то считываешь его построчно,смотришь,если длина строки больше 1,значит это нужная 7 строка. берешь ее и через функцию сплит загоняешь в массив. типа так string s = "1,2,3,4,5,6"; string[] q = s.Split(',');
Помогите запилить лабу... на С++ вот код проги Нужно запилить точно такую же прогу только используя функцию ... Заранее спасибо
Помогите реализировать функцию бинарного поиска и функцию сортировки (любым методом) вот основной текст программы который есть, писал пока понимал, а дальше все не знаю..... здесь можно скачать Unit1.cpp #include <iostream.h> //подключение библиотеки ввода/вывода #include <conio.h> // подключение библиотеки для обработки экрана #include <iomanip.h> // подключение библиотеки манипуляторов для форматированного вывода const size = 30; //максимальное количество элементов в массиве /*Функция ввода массива с клавиатуры. Вх.данные: mas - массив (не задан); n - количество элементов в массиве (не задано) Вых.данные: mas - массив задан; n - количество элементов в массиве (от 1 до size-1) Способ передачи параметров: Массив передается с помощью указателя на нулевой элемент массива. n передается по ссылке. */ void vvod(float *mas, int &n) { //цикл ввода количества элементов массива do { cout<<"Enter quantity of elements of array ->"; cin>>n; }while((n<=0)||(n>=size)) ; //ввод элементов массива с клавиатуры for (int i=0;i<n;i++) { cout<<"#"<<i<<" = "; //вывод индекса элемента, который вводится с клавиатуры cin>>mas; //ввод i-го элемента массива с клавиатуры } } /*Функция печати массива. Вх.данные: mas - массив; n - количество элементов в массиве (от 1 до size-1) Способ передачи параметров: Массив передается с помощью указателя на нулевой элемент массива. n передается по значению. */ void print(float *mas, int n) { for(int i=0;i<n;i++) cout<<setprecision(2)<<setw(10)<<mas; //два знака после запятой, //для одного числа выделяется 10 позиций на экране } /*Функция поиска индекса минимального элемента массива. Вх.данные: mas - массив; n - количество элементов в массиве (от 1 до size-1) Вых.данные: Индекс минимального элемента массива */ int min(float *mas, int n) { int imin = 0; //пусть элемент с номером 0 будет минимальным for(int i=1;i<n;i++) //цикл просмотра элементов массива от 1 до n-1 if (mas<mas[imin]) imin = i; //поиск минимального из двух чисел return imin; //возврат индекса минимального элемента массива } /*Функция поиска индекса максимального элемента массива. Вх.данные: mas - массив; n - количество элементов в массиве (от 1 до size-1) Вых.данные: Индекс максимального элемента массива*/ int max(float *mas, int n) { int imax = 0; //пусть элемент с номером 0 будет максимальным for(int i=1;i<n;i++) //цикл просмотра элементов массива от 1 до n-1 if (mas>mas[imax]) imax = i; //поиск максимального из двух чисел return imax; //возврат индекса максимального элемента массива } /*Функция для вывода меню на экран и выбора одного из пунктов меню. Вых.данные: номер пункта меню от 1 до 4*/ int menu() { int number; //номер выбранного пункта меню do //цикл выполняется пока пользователь не выберет пункт от 1 до 4 { clrscr(); cout<<" MENU\n"; cout<<"1. Input array please,\n"; cout<<"2. Print array\n"; cout<<"3. Processing array\n"; cout<<"4. Exit\n"; cout<<"\nSelect menu item -> "; cin>>number; }while ((number<1) || (number>4)); return number; //возврат номера пункта меню } void main() //главная функция программы { float a[size]; //массив int m; //количество элементов в массиве int punkt; //номер пункта меню int isvvod=0; //признак, что массив задан: isvvod=0 - массив не задан, isvvod=1 - массив задан //цикл выполняется пока пользователь не выберет пункт "Выход" do { punkt = menu(); //выбор пункта меню switch (punkt) //выполнение действий в зависимости от номер пункта меню { case 1: //пункт 1 "Ввод массива" { clrscr(); cout<<" --= Input array =--\n"; vvod(a,m); //вызов функции для задания размера и элементов массива isvvod=1; //признак, что массив задан };break; case 2: //пункт 2 "Печать массива" { if (isvvod) //если массив задан, то его можно распечатать { clrscr(); cout<<" --= Print array =--\n"; print(a,m); //вызов функции для печати массива } else //массив не задан, необходимо сначала задать массив cout <<"It's necessary to set array at first. Select point 1."; getch(); //задержка экрана до нажатия клавиши };break; case 3: //пункт 3 "Обработка массива" { if (isvvod) //если массив задан, то его можно распечатать { clrscr(); cout<<" --= Processing array... =--\n"; int imin = min(a,m); //вызов функции для определения номера мин.элемента int imax = max(a,m); //вызов функции для определения номера макс.элемента cout<<setprecision(2)<<"Minimum element = "<<a[imin]<<"\n"; cout<<setprecision(2)<<"Maximu element = "<<a[imax]<<"\n"; cout<<"Index of the minimum element = "<<imin<<"\n"; cout<<"Index of the maximum element = "<<imax<<"\n"; cout<<setprecision(2)<<"The total of minimum and maximum values= "<<a[imin]+a[imax]; cout<<"\nArray\n"; print(a,m); //вызов функции для печати массива } else //массив не задан, необходимо сначала задать массив cout <<"It's necessary to set array at first. Select point 1."; getch(); //задержка экрана до нажатия клавиши };break; }; }while(punkt!=4); //цикл выполняется пока не выбран пункт 4 "Выход" }
С++. Итераторы и тп. За помощь вознаграждение. 1.Найти количество локальных максимумов в последовательности с помощью for_each. 2.Сделайте filtered_ostream_iterator, выводящий в поток символов только английские буквы. 3.В стандартной библиотеке есть класс valarray. В заданиях требуется воспроизвести некую его функциональность. Для этого следует реализовать свой класс valarray (только то, что необходимо), а также необходимые дополнительные классы. Реализовать класс index так чтобы следующий код valarray v(10),v1(10); index ind(10); // индексный массив, хранит перестановку v[ind] = v1; осуществлял присваивание v[ind] = v1 Вознаграждение: голоса в соц сети ВКонтакте. задание: 1 (надо убрать глобальную переменную) Code: #include <iostream> #include <vector> #include <list> #include "general_container.h" #include "local_max.h" using std::cout; using std::endl; using std::vector; using std::list; typedef int int_arr[20]; int main(){ int_arr arrs[] = { {1}, {3, 3, 3}, {5, 9}, {35, -4}, {4, -26, 2, 2, 8, 4, 1}, {-6, -10, -28, -28, 5, 32, 32, 20, 57, 16, 8, -3, 11, -4, 46, 24} }; int SIZES[] = {1, 3, 2, 2, 7, 16}; vector<int> vec0(arrs[0], arrs[0] + SIZES[0]); vector<int> vec1(arrs[1], arrs[1] + SIZES[1]); vector<int> vec2(arrs[2], arrs[2] + SIZES[2]); vector<int> vec3(arrs[3], arrs[3] + SIZES[3]); vector<int> vec4(arrs[4], arrs[4] + SIZES[4]); vector<int> vec5(arrs[5], arrs[5] + SIZES[5]); cout << "VECTOR\n\n"; println(vec0.begin(), vec0.end()); cout << "local max count = " << local_max_count(vec0, MIN_INT) << endl << endl; println(vec1.begin(), vec1.end()); cout << "local max count = " << local_max_count(vec1, MIN_INT) << endl << endl; println(vec2.begin(), vec2.end()); cout << "local max count = " << local_max_count(vec2, MIN_INT) << endl << endl; println(vec3.begin(), vec3.end()); cout << "local max count = " << local_max_count(vec3, MIN_INT) << endl << endl; println(vec4.begin(), vec4.end()); cout << "local max count = " << local_max_count(vec4, MIN_INT) << endl << endl; println(vec5.begin(), vec5.end()); cout << "local max count = " << local_max_count(vec5, MIN_INT) << endl << endl; system("pause"); return 0; } Code: #ifndef LOCAL_MAX_H #define LOCAL_MAX_H /* Найти количество локальных максимумов в последовательности с помощью for_each. */ #include <algorithm> using namespace std; // Минимальное число const int MIN_INT = -10000000; int GlobalCount; // Поиск локальных максимумов template <typename T> class local_max_counter{ private: // Число локальных макисмумов int cnt; // Элемент, через один раньше текущего typename T::value_type prevPrev; // Элемент, предшествующий текущему typename T::value_type prev; public: local_max_counter(typename T::value_type minValue){ cnt = 0; prevPrev = minValue; prev = minValue; } // Возвращает число локальных максимумов int LocalMaxCount(){ return cnt; } // Ищет локальный максимум void local_max(typename T::value_type curr){ if (prev < curr) if (prevPrev >= prev) /* делаем предположение, что раз 7 4 9, то 9 это локальный максимум */ ++cnt; else /* у нас 3 6 15, на предыдущем шаге было сделано предположение, что 6 это лок. макс. - неверное, но зато 15 новый лок. максимум, возможно */ ; else if (curr == prev && prevPrev < prev) /* у нас 3 6 6, на предыдущем шаге было сделано предположение, что 6 это лок. макс. - неверное */ --cnt; prevPrev = prev; prev = curr; } void operator() (typename T::value_type curr){ local_max(curr); GlobalCount = cnt; } }; template <typename T> int local_max_count(T container, typename T::value_type minValue){ local_max_counter<T> cnter(minValue); //cnter(1); GlobalCount = 0; for_each(container.begin(), container.end(), cnter); return GlobalCount; //return cnter.LocalMaxCount(); } #endif Code: #ifndef GENERAL_CONTAINER_H #define GENERAL_CONTAINER_H #include <iostream> #include <string> using std::cout; using std::endl; using std::string; template <typename FwdIt> void println(FwdIt first, FwdIt last, string delim = " "){ FwdIt curr = first; while (curr != last){ cout << *curr << delim; ++curr; } cout << endl; } #endif
Текущее показание электронных часов: m ч (о<=m<=23) n мин (0<=n<=59) k секунд (0<=k<=59). Какое время будут показывать часы через p часов q минут r секунд? На паскале, кто сделает ? =) заранее спасибо )
вводим данные n,m.k вводим на сколько меняется p,q,r k:=k+r; if k>59 then begin inc(n); k:=k-60; end; n:=n+q; if n>59 then begin inc(m); n:=n-60; end; m:=m+p; if p>23 then p:=p-24; Выводим результат в виде m,n,k
Помогите решить на языке Си. Дано текстовый файл, элементами которого являются действительные числа a1, a2, a3, ..., an. Создать файл, элементами которого будут числа a1(в квадрате), a1*a2, a1*a3, a1*a4, ..., a1*an. *-умножение!
задача с символами строк на java Помогите решить на java : сколько в символьной строке слов, имеющие в первом слове средний символ(символ который находится в середине первого слова) ,например набираем слова (тетрадь; книга; ручка;цветок в середине первого слова буква (р), так вычислить сколько слов в строке, имеют букву (р), т к у нас в середине первого слова символ (р)только (тетрадь и ручка)