Игорь Стасюк Posted October 26, 2014 Report Share Posted October 26, 2014 Здравствуйте, пожалуйста помогите с задачей: все нулевые элементы расположены на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали . Program LAB2;Var arrp: array[1..5050] of integer; { Сжатая таблица } XM : integer; { Максимальные индексы в таблице }{==== Функция перевычисления индексов ====}{ y,x - индексы в 2-мерном массиве. Ф-ция возвращает индекс в 1-мерном массиве }Function NewIndex(y, x : integer) : integer; var i, d: integer; begin d:=0; for i:=1 to y-1 do d:=d+XM-i+1; NewIndex:=d+x-y+1; end;{==== Функция записи в сжатое представление массива ====}{ y, x - индексы в 2-мерном массиве, value - записываемое значение. Функция возвращает записываемое значение или 0 - если (x,y) задают индексы элемента, нулевого по определению }Function PutTab(y,x,value : integer) : integer; begin if (((x>y) and (y<=3)) or ((x<y) and (y>8)) or (x=y)) then PutTab:=0 else begin arrp[NewIndex(y,x)]:=value; PutTab:=value; end; end;{==== Функция выборки из сжатого представления массива ====}{ y, x - индексы в 2-мерном массиве. Функция возвращает выбранное значение }Function GetTab(y,x: integer) : integer; begin if (((x>y) and (y<=3)) or ((x<y) and (y>8)) or (x=y)) then GetTab:=0 else GetTab:=arrp[NewIndex(y,x)]; end;{============= Главная программа ===================}Var x, y : integer; { Индексы в 2-мерном массиве } k, h: integer; begin {===== Проверка формирования массива ======} XM:=10; { Запись элементов в 1-мерный массив } k:=1; for y:=1 to XM do for x:=1 to XM do begin h:=PutTab(y,x,k); k:=k+1; end; { Распечатка матрицы } writeln('===== Матрица ====='); for y:=1 to XM do begin for x:=1 to XM do write(GetTab(y,x):3); writeln; end; { Распечатка внутреннего представления матрицы } writeln('===== Матрица (внутр.представление) ====='); for y:=1 to 55 do write(arrp[y]:4); writeln; writeln;end. Нарисовать, то нарисовал а вот сделать перевод и запись в одномерный не знаю как . " d:=d+XM-i+1; NewIndex:=d+x-y+1;" - надо тут поменять пересчёт индексов, а я не понимаю как это сделать. Помогите пожалуйста. Quote Link to comment Share on other sites More sharing options...
Игорь Стасюк Posted October 26, 2014 Report Share Posted October 26, 2014 Вот полное задание к задаче : Разработать способ экономного размещения в памяти заданной разреженной таблицы. Разработать процедуры/функции, обеспечивающие доступ к элементам таблицы по номерам строки и имени столбца. В контрольной программе обеспечить запись и чтение всех записей таблицы. Произвести хронометраж выполнения операций чтения и записи элементов в массивы. Quote Link to comment Share on other sites More sharing options...
S.a.R. Posted December 23, 2014 Report Share Posted December 23, 2014 Простите пожалуйста, а как её сделать через рекурсию? const na=10; a:string[na]='1234567890';type ba=array[1..na]of byte;var b:ba; n,m,i,j,k:byte;procedure Output(var b:ba);begin for i:=1 to m do write(a[b]:2); writeln end;procedure Perm(b:ba; n:byte);var i,k,j,x:byte;begin Output(b); repeat i:=n; while(i>0)and(b>=b[i+1])do dec(i); if i=0 then exit; for j:=i+1 to n do if b[j]>b then k:=j; x:=b; b:=b[k]; b[k]:=x; for j:=i+1 to i+(n+1-i)div 2 do begin x:=b[j]; b[j]:=b[n+i+1-j]; b[n+i+1-j]:=x end; Output(b); until falseend;begin n:=na; m:=3; for i:=1 to m do b:=i; Perm(b,m); repeat i:=m; while(i>0)and(b=n-m+i)do dec(i); if i=0 then begin readln; exit end; inc(b); for j:=i+1 to m do b[j]:=b[j-1]+1; Perm(b,m); until falseend. Quote Link to comment Share on other sites More sharing options...
Everybodylies Posted January 21, 2015 Report Share Posted January 21, 2015 Нужно сделать программку для онлайн приложения вконтакте, ну или разобрать имеющуюся, кому интересно в скайп <удалено> там договоримся! :) Quote Link to comment Share on other sites More sharing options...
Loader Posted January 21, 2015 Report Share Posted January 21, 2015 ! Предупреждение:На форуме категорически запрещено:Высказывать просьбу отправить ответ на e-mail, в ICQ и прочие нефорумные средства общения. Это не этично, форум открыт для общения, и решение проблемы может быть интересно другим посетителям. Quote Link to comment Share on other sites More sharing options...
karen19952015 Posted June 7, 2015 Report Share Posted June 7, 2015 Здравстсвуйте , не могли бы вы составить мне блок схемы и вообще расписать, что и где какая команда делает... #include <iostream.h>#include <stdio.h>#include <stdlib.h>#include <conio.h>using namespace std; struct LIBRARY{ char nomer[30]; char FIO[30]; char nazvanie[40]; int Year; int kolvo;}; struct STR{ LIBRARY *Library; STR *next;}; STR * create(LIBRARY * Library) { STR *root=new STR; root->Library=Library; root->next=NULL; return root;} void add(LIBRARY *Library, STR* root) { while(root->next) root=root->next; root->next=new STR; root->next->Library=Library; root->next->next=NULL;} void printLIBRARY(LIBRARY *Library) { cout<<"Nomer => "<<Library->nomer<<endl; cout<<"FIO => "<<Library->FIO<<endl; cout<<"Nazvanie => "<<Library->nazvanie<<endl; cout<<"Year => "<<Library->Year<<endl; cout<<"Kolvo => "<<Library->kolvo<<endl; cout<<endl; }LIBRARY * makeLIBRARY() { cout<<"Enter book data:"<<endl; LIBRARY *Library=new LIBRARY; fflush(stdin); cout<<"Enter book nomer: => "; cin.getline(Library->nomer,30); cout<<"Enter Author's FIO: => "; cin.getline(Library->FIO,30); cout<<"Enter book name: => "; cin.getline(Library->nazvanie,40); cout<<"Enter made year: => "; cin>>Library->Year; cout<<"Enter count of books: => "; cin>>Library->kolvo; return Library;}int choice(){ int answer; getch(); system("cls"); cout<<"Main menu"<<endl; cout<<"1. Add new books to the list"<<endl; cout<<"2. Print LIBRARY at list"<<endl; cout<<"3. Search and delete"<<endl; cout<<"4. Clear all entries"<<endl; cout<<"5. Exit"<<endl; cout<<"Enter your choice: "; cin>>answer; fflush(stdin); if(answer>=1 && answer<=5) return answer; else return 0;} int main(){ STR *root=NULL; int ch; while(1) { ch=choice(); if(ch==1) { cout<<endl; if(root==NULL) root=create(makeLIBRARY()); else add(makeLIBRARY(),root); } else if(ch==2) { cout<<endl; int i=0; int N=0; STR *proot=root; while (root) { N++; root=root->next; } LIBRARY *buf; LIBRARY **pLibrary=new LIBRARY*[N]; root=proot; while (root) { pLibrary[i]=root->Library; root=root->next; i++; } root=proot; for (i=0;i<N;i++) printLIBRARY(pLibrary[i]); } else if(ch==3) { char qwe[30]; char qw[30], q[1]; cout<<"Enter nomer of book => "<<endl; cin.getline(qwe,30); while (root) { if (!strcmp(qwe,root->Library->nomer)) { { printLIBRARY(root->Library); cout<<"Do you want clear this entries? (y/n) "<<endl; cin.getline(q,1); if (!strcmp(q,"y")) { root->Library=NULL; } root=root->next; } } else if (strcmp(qwe,root->Library->nomer)) root=root->next; } cout<<endl; } else if(ch==5) { break; cout<<endl; } } return 0;} Если вам не сложно, то напишите пожалуйста по строковое разъяснение, прям все все)))буду очень благодарен)))Заранее спасибо Quote Link to comment Share on other sites More sharing options...
karen19952015 Posted June 7, 2015 Report Share Posted June 7, 2015 Если вам не сложно, то напишите пожалуйста по строковое разъяснение, прям все все)))буду очень благодарен)))Заранее спасибо Quote Link to comment Share on other sites More sharing options...
karen19952015 Posted June 7, 2015 Report Share Posted June 7, 2015 #include <iostream.h>#include <stdio.h>#include <stdlib.h>#include <conio.h>using namespace std;struct LIBRARY{char nomer[30];char FIO[30];char nazvanie[40];int Year;int kolvo;};struct STR{LIBRARY *Library;STR *next;};STR * create(LIBRARY * Library) {STR *root=new STR;root->Library=Library;root->next=NULL;return root;}void add(LIBRARY *Library, STR* root) {while(root->next)root=root->next;root->next=new STR;root->next->Library=Library;root->next->next=NULL;}void printLIBRARY(LIBRARY *Library) {cout<<"Nomer => "<<Library->nomer<<endl;cout<<"FIO => "<<Library->FIO<<endl;cout<<"Nazvanie => "<<Library->nazvanie<<endl;cout<<"Year => "<<Library->Year<<endl;cout<<"Kolvo => "<<Library->kolvo<<endl;cout<<endl;}LIBRARY * makeLIBRARY() {cout<<"Enter book data:"<<endl;LIBRARY *Library=new LIBRARY;fflush(stdin);cout<<"Enter book nomer: => ";cin.getline(Library->nomer,30);cout<<"Enter Author's FIO: => ";cin.getline(Library->FIO,30);cout<<"Enter book name: => ";cin.getline(Library->nazvanie,40);cout<<"Enter made year: => ";cin>>Library->Year;cout<<"Enter count of books: => ";cin>>Library->kolvo;return Library;}int choice(){int answer;getch();system("cls");cout<<"Main menu"<<endl;cout<<"1. Add new books to the list"<<endl;cout<<"2. Print LIBRARY at list"<<endl;cout<<"3. Search and delete"<<endl;cout<<"4. Clear all entries"<<endl;cout<<"5. Exit"<<endl;cout<<"Enter your choice: ";cin>>answer;fflush(stdin);if(answer>=1 && answer<=5)return answer;elsereturn 0;}int main(){STR *root=NULL;int ch;while(1){ch=choice();if(ch==1){cout<<endl;if(root==NULL)root=create(makeLIBRARY());elseadd(makeLIBRARY(),root);}else if(ch==2){cout<<endl;int i=0;int N=0;STR *proot=root;while (root){N++;root=root->next;}LIBRARY *buf;LIBRARY **pLibrary=new LIBRARY*[N];root=proot;while (root){pLibrary[i]=root->Library;root=root->next;i++;}root=proot;for (i=0;i<N;i++)printLIBRARY(pLibrary[i]);}else if(ch==3){char qwe[30];char qw[30], q[1];cout<<"Enter nomer of book => "<<endl;cin.getline(qwe,30);while (root){if (!strcmp(qwe,root->Library->nomer)){ {printLIBRARY(root->Library);cout<<"Do you want clear this entries? (y/n) "<<endl;cin.getline(q,1);if (!strcmp(q,"y")){root->Library=NULL;}root=root->next;}}else if (strcmp(qwe,root->Library->nomer))root=root->next;}cout<<endl;}else if(ch==5){break;cout<<endl;}}return 0;} это очень срочно(( Quote Link to comment Share on other sites More sharing options...
huyganeji21 Posted December 8, 2015 Report Share Posted December 8, 2015 Помогите пожалуйста написать лабу по информатике на языке СИ, буду очень благодарен. Задание: Ввести строку и слово. Вывести только те слова, начало которых совпадает с введенным словом. Используя только библиотеку stdio.h Quote Link to comment Share on other sites More sharing options...
Teddy_Bear Posted December 8, 2015 Report Share Posted December 8, 2015 А букварь за вас не почитать? Quote Link to comment Share on other sites More sharing options...
purplebat Posted December 23, 2015 Report Share Posted December 23, 2015 Помогите,пожалуйста! Срочно нужно. Задание: Создать файл из 15 целых чисел. Написать программу, которая реализует метод открытого хеширования с хеш-функцией, основанной на методе деления с остатком. Занести данные, хранящиеся в файле в хеш-таблицу. Вывести построенную хеш-таблицу на экран. Организовать поиск данных в хеш-таблице. Результаты поиска данных вывести на экран. Также вывести количество проб, которые были затрачены при поиске. Написать на с++ Quote Link to comment Share on other sites More sharing options...
Тролль Posted December 25, 2015 Report Share Posted December 25, 2015 См. ссылку в ЛС. Quote Link to comment Share on other sites More sharing options...
Shadow TH Posted February 6, 2016 Report Share Posted February 6, 2016 (edited) Люди, а есть ли у кого-нибудь алгоритм быстрого преобразования Фурье для последовательности значений длиной не равной степени двойки? Пока в интернете нашёл только метод Cooley–Tukey, но в нём начальное количество значений должно быть 2^n. Язык в принципе любой подойдёт. Заранее огромное спасибо. Edited February 6, 2016 by Shadow TH Quote Link to comment Share on other sites More sharing options...
Тролль Posted February 6, 2016 Report Share Posted February 6, 2016 (edited) Ну, например, тут есть описания и пример реализации на C++, я его, правда, не проверял). Edited February 6, 2016 by Тролль 2 Quote Link to comment Share on other sites More sharing options...
Riki_Tiki_Tavi Posted March 16, 2016 Report Share Posted March 16, 2016 Ну, например, тут есть описания и пример реализации на C++, я его, правда, не проверял). Спасибо, Вам за помощь, давненько Вы меня очень и очень сильно выручали) Quote Link to comment Share on other sites More sharing options...
Indemion Posted June 26, 2016 Report Share Posted June 26, 2016 (edited) Делаю курсовую.. Научная конференция Не получается интерфейс для работы с базой данных разработать, в среде программирования Builder C++... Вот задача : База данных для АИС должна быть создана в среде клиент-серверной СУБД MySQL. Для генерации базы данных необходимо использовать программу ERWin. Сохранить схему базы данных и скрипты, по которым создается база. Интерфейс для работы с базой данной разработать в среде программирования Builder C++. Таким образом, программная часть курсового проекта должна составлять: файл схемы БД (*.erwin), скрипты генерации –(*.sql), базу данных MySQL – папка с соответствующем именем., папка с проектом приложения в Builder C++. (это все записывается на носитель) Создал схему данных в Erwin Сгенерировал из схемы файл с БД : CREATE TABLE Ekskursii ( KodEkskursii INTEGER NULL, NazvanieEkskursii VARCHAR(40) NOT NULL, DataProvedeniya DATE NULL ) ; ALTER TABLE Ekskursii ADD PRIMARY KEY (KodEkskursii) ; CREATE TABLE SekziiKonferenzii ( KodSekcii INTEGER NULL, NazvanieSekcii VARCHAR(20) NOT NULL, DataProvedeniya DATE NULL ) ; ALTER TABLE SekziiKonferenzii ADD PRIMARY KEY (KodSekcii) ; CREATE TABLE UchastnikiKonferencii ( IDUchastnika INTEGER NOT NULL, Familiya VARCHAR(30) NOT NULL, Imya VARCHAR(20) NOT NULL, Otchestvo VARCHAR(20) NOT NULL, UchenoeZvanie VARCHAR(20) NOT NULL, TemaDoklada VARCHAR(40) NOT NULL, KodSekcii INTEGER NULL ) ; ALTER TABLE UchastnikiKonferencii ADD PRIMARY KEY (IDUchastnika) ; CREATE TABLE ZakazEkskursii ( IDUchastnika INTEGER NOT NULL, KodEkskursii INTEGER NOT NULL ) ; ALTER TABLE ZakazEkskursii ADD PRIMARY KEY (IDUchastnika,KodEkskursii) ; ALTER TABLE UchastnikiKonferencii ADD FOREIGN KEY R_9 (KodSekcii) REFERENCES SekziiKonferenzii(KodSekcii) ; ALTER TABLE ZakazEkskursii ADD FOREIGN KEY R_10 (IDUchastnika) REFERENCES UchastnikiKonferencii(IDUchastnika) ; ALTER TABLE ZakazEkskursii ADD FOREIGN KEY R_11 (KodEkskursii) REFERENCES Ekskursii(KodEkskursii) ; Устанвил MySQL Подключился к odbcad32 Пдключился к MySQL Зашёл в MySql пощупал БД Теперь надо подключиться из Builder C++ и наполнить базу и выполнить пару запросов и т.п... чтобы закончить реферат , а я не могу понять как ?? Edited June 28, 2016 by Indemion Quote Link to comment Share on other sites More sharing options...
Spawn_ast Posted June 29, 2016 Report Share Posted June 29, 2016 может кто помочь с программкой с 1 или 2-й) или с обеими ) в программировании не силен так что вынужден просить помощь 1. Заменить в списке все отрицательные значения элементов на их модуль, вернуть адрес последней замены. 2. Создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть длину нового списка. Quote Link to comment Share on other sites More sharing options...
NatM Posted June 30, 2016 Report Share Posted June 30, 2016 На каком языке? Quote Link to comment Share on other sites More sharing options...
Spawn_ast Posted June 30, 2016 Report Share Posted June 30, 2016 На каком языке? С++ или паскаль на каком легче +/) Quote Link to comment Share on other sites More sharing options...
NatM Posted July 1, 2016 Report Share Posted July 1, 2016 Type Ukaz = ^v; v = Record Data : integer; Next : Ukaz; End;Procedure InitU(Var u : Ukaz);Var x, y : Ukaz; Digit : integer;Begin Writeln('Введите список '); u := Nil; Writeln ('Введите элементы списка. Конец ввода 0'); Read (Digit); while Digit<>0 do Begin New(y); y^.Next := Nil; y^.Data := Digit; if u=Nil then u := y else x^.Next := y; x := y; Read(Digit); End; Writeln;End;Procedure ReplaceU(Var u : Ukaz);var x:Ukaz;begin x:=u; while x<>Nil do begin if x^.Data<0 then x^.Data:=Abs(x^.Data); x:= x^.Next; end;end;Procedure WriteU(Var u : Ukaz);var x:Ukaz;begin x:=u; while x<>Nil do begin Writeln(x^.Data); x:= x^.Next; end;end;Procedure Main;var u:Ukaz;begin InitU(u); ReplaceU(u); WriteU(u);end; Основные функции, тип и вызов. Остальное уже самому: у меня нет возможности проверить компиляцию именно Паскаля (только Delphi). 1 Quote Link to comment Share on other sites More sharing options...
Spawn_ast Posted February 14, 2018 Report Share Posted February 14, 2018 На си или на паскале кто может помочь сам не шарю Заменить в списке все отрицательные значения элементов на их модуль, вернуть адрес последней замены. Создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть длину нового списка. Quote Link to comment Share on other sites More sharing options...
maxick Posted February 25, 2018 Report Share Posted February 25, 2018 (edited) Блин, чёт мозги уже под вечер не варят... Edited February 25, 2018 by maxick Quote Link to comment Share on other sites More sharing options...
Иоанн Васильевич Царь Posted July 3, 2018 Report Share Posted July 3, 2018 Здравствуйте! Можете ли вы попочь с небольшой прокачкой программы для подсчета APM? Нужно добавить еще некоторые кнопки в отслеживание и убрать строку с гиперссылкой из главного окна. Программу прилепляю в архиве. apm_counter.rar Quote Link to comment Share on other sites More sharing options...
student322 Posted December 10, 2018 Report Share Posted December 10, 2018 Здравствуйте. Помогите пожалуйста написать программу на #C. Дано дату в виде числа и месяца (например, 12 мая), и эта дата пришлась на день недели - четверг. Кроме того, дано натуральное число k. Вывести название дня, месяца и сезона, которые были при k месяцев перед данной датой. Считать год не високосным. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.