Игорь Стасюк Опубликовано 26 октября, 2014 Жалоба Поделиться Опубликовано 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;" - надо тут поменять пересчёт индексов, а я не понимаю как это сделать. Помогите пожалуйста. Ссылка на комментарий Поделиться на другие сайты Поделиться
Игорь Стасюк Опубликовано 26 октября, 2014 Жалоба Поделиться Опубликовано 26 октября, 2014 Вот полное задание к задаче : Разработать способ экономного размещения в памяти заданной разреженной таблицы. Разработать процедуры/функции, обеспечивающие доступ к элементам таблицы по номерам строки и имени столбца. В контрольной программе обеспечить запись и чтение всех записей таблицы. Произвести хронометраж выполнения операций чтения и записи элементов в массивы. Ссылка на комментарий Поделиться на другие сайты Поделиться
S.a.R. Опубликовано 23 декабря, 2014 Жалоба Поделиться Опубликовано 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. Ссылка на комментарий Поделиться на другие сайты Поделиться
Everybodylies Опубликовано 21 января, 2015 Жалоба Поделиться Опубликовано 21 января, 2015 Нужно сделать программку для онлайн приложения вконтакте, ну или разобрать имеющуюся, кому интересно в скайп <удалено> там договоримся! :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Loader Опубликовано 21 января, 2015 Жалоба Поделиться Опубликовано 21 января, 2015 ! Предупреждение:На форуме категорически запрещено:Высказывать просьбу отправить ответ на e-mail, в ICQ и прочие нефорумные средства общения. Это не этично, форум открыт для общения, и решение проблемы может быть интересно другим посетителям. Ссылка на комментарий Поделиться на другие сайты Поделиться
karen19952015 Опубликовано 7 июня, 2015 Жалоба Поделиться Опубликовано 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;} Если вам не сложно, то напишите пожалуйста по строковое разъяснение, прям все все)))буду очень благодарен)))Заранее спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
karen19952015 Опубликовано 7 июня, 2015 Жалоба Поделиться Опубликовано 7 июня, 2015 Если вам не сложно, то напишите пожалуйста по строковое разъяснение, прям все все)))буду очень благодарен)))Заранее спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
karen19952015 Опубликовано 7 июня, 2015 Жалоба Поделиться Опубликовано 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;} это очень срочно(( Ссылка на комментарий Поделиться на другие сайты Поделиться
huyganeji21 Опубликовано 8 декабря, 2015 Жалоба Поделиться Опубликовано 8 декабря, 2015 Помогите пожалуйста написать лабу по информатике на языке СИ, буду очень благодарен. Задание: Ввести строку и слово. Вывести только те слова, начало которых совпадает с введенным словом. Используя только библиотеку stdio.h Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 8 декабря, 2015 Жалоба Поделиться Опубликовано 8 декабря, 2015 А букварь за вас не почитать? Ссылка на комментарий Поделиться на другие сайты Поделиться
purplebat Опубликовано 23 декабря, 2015 Жалоба Поделиться Опубликовано 23 декабря, 2015 Помогите,пожалуйста! Срочно нужно. Задание: Создать файл из 15 целых чисел. Написать программу, которая реализует метод открытого хеширования с хеш-функцией, основанной на методе деления с остатком. Занести данные, хранящиеся в файле в хеш-таблицу. Вывести построенную хеш-таблицу на экран. Организовать поиск данных в хеш-таблице. Результаты поиска данных вывести на экран. Также вывести количество проб, которые были затрачены при поиске. Написать на с++ Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 25 декабря, 2015 Жалоба Поделиться Опубликовано 25 декабря, 2015 См. ссылку в ЛС. Ссылка на комментарий Поделиться на другие сайты Поделиться
Shadow TH Опубликовано 6 февраля, 2016 Жалоба Поделиться Опубликовано 6 февраля, 2016 (изменено) Люди, а есть ли у кого-нибудь алгоритм быстрого преобразования Фурье для последовательности значений длиной не равной степени двойки? Пока в интернете нашёл только метод Cooley–Tukey, но в нём начальное количество значений должно быть 2^n. Язык в принципе любой подойдёт. Заранее огромное спасибо. Изменено 6 февраля, 2016 пользователем Shadow TH Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 6 февраля, 2016 Жалоба Поделиться Опубликовано 6 февраля, 2016 (изменено) Ну, например, тут есть описания и пример реализации на C++, я его, правда, не проверял). Изменено 6 февраля, 2016 пользователем Тролль 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Riki_Tiki_Tavi Опубликовано 16 марта, 2016 Жалоба Поделиться Опубликовано 16 марта, 2016 Ну, например, тут есть описания и пример реализации на C++, я его, правда, не проверял). Спасибо, Вам за помощь, давненько Вы меня очень и очень сильно выручали) Ссылка на комментарий Поделиться на другие сайты Поделиться
Indemion Опубликовано 26 июня, 2016 Жалоба Поделиться Опубликовано 26 июня, 2016 (изменено) Делаю курсовую.. Научная конференция Не получается интерфейс для работы с базой данных разработать, в среде программирования 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++ и наполнить базу и выполнить пару запросов и т.п... чтобы закончить реферат , а я не могу понять как ?? Изменено 28 июня, 2016 пользователем Indemion Ссылка на комментарий Поделиться на другие сайты Поделиться
Spawn_ast Опубликовано 29 июня, 2016 Жалоба Поделиться Опубликовано 29 июня, 2016 может кто помочь с программкой с 1 или 2-й) или с обеими ) в программировании не силен так что вынужден просить помощь 1. Заменить в списке все отрицательные значения элементов на их модуль, вернуть адрес последней замены. 2. Создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть длину нового списка. Ссылка на комментарий Поделиться на другие сайты Поделиться
NatM Опубликовано 30 июня, 2016 Жалоба Поделиться Опубликовано 30 июня, 2016 На каком языке? Ссылка на комментарий Поделиться на другие сайты Поделиться
Spawn_ast Опубликовано 30 июня, 2016 Жалоба Поделиться Опубликовано 30 июня, 2016 На каком языке? С++ или паскаль на каком легче +/) Ссылка на комментарий Поделиться на другие сайты Поделиться
NatM Опубликовано 1 июля, 2016 Жалоба Поделиться Опубликовано 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Spawn_ast Опубликовано 14 февраля, 2018 Жалоба Поделиться Опубликовано 14 февраля, 2018 На си или на паскале кто может помочь сам не шарю Заменить в списке все отрицательные значения элементов на их модуль, вернуть адрес последней замены. Создать список L3 из элементов, которые входят в список L1 и не входят в список L2, вернуть длину нового списка. Ссылка на комментарий Поделиться на другие сайты Поделиться
maxick Опубликовано 25 февраля, 2018 Жалоба Поделиться Опубликовано 25 февраля, 2018 (изменено) Блин, чёт мозги уже под вечер не варят... Изменено 25 февраля, 2018 пользователем maxick Ссылка на комментарий Поделиться на другие сайты Поделиться
Иоанн Васильевич Царь Опубликовано 3 июля, 2018 Жалоба Поделиться Опубликовано 3 июля, 2018 Здравствуйте! Можете ли вы попочь с небольшой прокачкой программы для подсчета APM? Нужно добавить еще некоторые кнопки в отслеживание и убрать строку с гиперссылкой из главного окна. Программу прилепляю в архиве. apm_counter.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
student322 Опубликовано 10 декабря, 2018 Жалоба Поделиться Опубликовано 10 декабря, 2018 Здравствуйте. Помогите пожалуйста написать программу на #C. Дано дату в виде числа и месяца (например, 12 мая), и эта дата пришлась на день недели - четверг. Кроме того, дано натуральное число k. Вывести название дня, месяца и сезона, которые были при k месяцев перед данной датой. Считать год не високосным. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти