1. Язык? Технолоии? Среда? И т.д. ? 2. Такие услуги студенты старших курсов, аспиранты, преподаватели и люди которым нечего делать предоставляют за денежное вознаграждение, а вы на халявку хотите? 3. Студенты-программисты(!), которые лихорадочно ищут себе в интернете спасителя-избавителя от Д/З по информатике(!) достойны отчисления. На самом деле - это же ваша специальность. И здесь нет ничего сложного, зачем вы собой места в ВУЗах занимаете, на них мог бы оказаться кто-то, кому это интересно.
Ребят выручайте, подправьте код плз чтоб работал а то я уже не знаю что делать. ПРога по бинарному дереву. Code: //--------------------------------------------------------------------------- #pragma hdrstop #include <fstream.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <iomanip.h> #include <iostream.h> //--------------------------------------------------------------------------- const char* filename = "dbase"; enum Action {INSERT, DEL, INFO}; enum Dir {LEFT, RIGHT}; const int l_time = 20, l_type = 40, l_number = 12; struct Fine{ char time[l_time]; char type[l_type]; float price; Fine* next; }; struct Node { char number[l_number]; Fine* beg; Node* left; Node* right; }; struct Data { char number[l_number]; char time[l_time]; char type[l_type]; float price; }; Node* descent(Node* p); Node* first(Data data); Data input(Action action); int menu(); void print_node(const Node& node); void print_dbase(Node* p); Node* read_dbase(char* filename); int read_fine(ifstream f, Data& data); int remove_fine(Node* p,const Data& data); void remove_fines(Node* p); Node* remove_node(Node* root, Node* p, Node* parent, Dir dir); Node* remove_tree(Node* p); Node* search_insert(Node* root, const Data& data, Action action, Dir& dir, Node*& parent); void write_dbase(ofstream f,const Node* root); void write_node(ofstream f, const Node& node); int main(int argc, char* argv[]) { Node* p, *parent; Node* root = read_dbase(filename); ofstream fout; Dir dir; while (true){ switch (menu()){ case 1: if(!root) root = first(input(INSERT)); else search_insert(root, input(INSERT), INSERT, dir, parent); break; case 2: if(!root){cout << "ÁÀçà ïóñòà" << endl; break;} Data data = input(DEL); if (!(p=search_insert(root, data, DEL, dir, parent))) cout << "Ñâåäåíèÿ îá à/ì îòñóòñòâóþò" << endl; else if (remove_fine(p, data) == 2 root = remove_node(root, p, parent, dir); break; case 3; if(!root){ cout << "Áàçà ïóñòà" << endl; break;} if(!(P =search_insert(root, input(INFO), INFO, dir, parent))) cout << "Ñâåäåíèÿ îòñóòñòâóþò" << endl; break; case 4: fout.open(filename); if(!fout.is_open()) { cout << "Îøèáêà îòêðûòèÿ ôàéëà " << filename << endl; return 1; } write_dbase(fout, root); return 0; case 5: print_dbase(root); break; default; cout << "Íàäî ââîñäèòü ÷èñëî îò 1 äî 4"<< endl; break; } } return 0; } Node* descent(Node* p){ Node* prev, *y = p->right; if(!y->left) y->left = p->left; else{ do{ prev = y; t=t->left;} while(y->left); y->left =p->left; prev->left = y->right; y->right = p->right; } return y; } Node* first(Data data){ Fine* beg = new Fine; strncpy(beg->time, data.time, l_time); strncpy(beg->type, data_type, l_type); beg->price = data.price; beg->next=0; Node* root = new Node; strncpy(root->number, data.number, l_number); root->beg =beg; root->left=root->right=0; } Data input(Action action){ Data data; char buf[10], temp[3], temp2[3]; int day, month, hour, min; cout << "Ââåäèòå íîìåð à/ì" << endl; cin.getline(data.number, l_number); if(action == INFO) return data; do{ cout << "Ââåäèòå äàòó íàðóøåíèÿ â ôîðìàòå ÄÄ.ÌÌ,Ãà " <<endl; cin >>buf; strncpy(temp1, buf, 2); strncpy(temp2, &buf[3], 2)' day = atoi(temp1); month = atoi(temp2); } while (!(day > 0 & day < 32 && month > 0 && month < 13)); strcpy(data.time, buf); strcat(data.time. " "); do{ cout << "Ââåäèòå âðåìÿ íàðóøåíèÿ â ôîðìàòå ××:ÌÌ :" << endl; cin >>buf; strncpy(temp1, buf, 2); strncpy(temp2, &buf[3], 2)' hour = atoi(temp1); min = atoi(temp2); } while (!(hour >= 0 && hour < 24 && min >=0 && min < 60 )); strcat(data.time, buf); cin.get(); if (action == DEL) return data; cout << "Ââåäèòå òèï íàðóøåíèÿ type" << endl; cin.getline(data.type, l_type); do{cout << "Ââåäèòå ðàçìåðû øòðàôà:" << endl; cin >> buf; } while (!(data.price = (float)atof(buf))); cin.get(); return data; } int menu(){ char buf[10]; int option; do{ cout << "============================" << endl; cout << "1 -Ââîä ñâåäåíèé î íàðóøåíèè" << endl; cout << "2 -Ââîä ñâåäåíèé îá îïëàòå øòðàôà" << endl; cout << "3-Ñïðàâêà"; cout << "4-Âûõîä" << endl; cout << "============================" <<endl; cin >> buf; option = atoi(buf);} while(!option); cin.get(); return option; } void print_node(const Node& node){ cout << "Íîìåð à/ì " << node.number << endl; Fine* pf = node.beg; float summa = 0; while (pf){ cout << "Âèä íàðóøåíèÿ " << pf->type << endl; cout << "Äàòà è âðåìÿ " << pf-time; cout << " Ðàçìåð øòðàôà " << pf->price <<endl; } void print_dbase(Node* p){ if(p){ print_node(*p); print_dbase(p->left); print_dbase(p->right); } } Node * read_dbase (char* filename) { Node * parent; Dir dir; Data data; ifstream f(filename, ios::in| ios::nocreate); if(!f) { cout << "Íåò ôàéëà" << filtname << endl; return0;} f.getline(data.number, l_number); if(f.eof()) { cout << "Ïóñòîé ôàéë" << endl; return 0;} read_fine(f, data); Node* root = first(data); while (!read_fine(f, data)) search_insert( root, data, INSERT, dir, parent); while (f, getline(data, number, l_number)){ read_fine(f, data); search_insert(root, data, INSERT, dit, parent); } return root; } int read_fine(ifstream f, Data& data){ f.getline(data.time, l_time); if(data.time[0] == '=') return 1; f.getline(data.type, l_type); f->>data.price; f.get(); return 0; } int remove_fine(Node * p, const Data& data){ Fine* prev, *pf = p->beg; bool found = false; while (pf && !found){ if(!strcmp(pf->time,data.time)) found = true; else { prev = pf; pf = pf->next; } } if (!found){ cout << "Ñâåäåíèÿ î íàðóøåíèè îòñóòñòâóþò." << endl; return 1; } if(pf == p->beg) p->beg = pf->next; else prev->next = pf->next; delete pf; if (!p->beg) return 2; return 0; } Node* remove_node(Node* root, Node* parent, Dir dir){ Node *y; if (!p->left) y=p->right; else if (!p->right) y = p->left; else y=descent(p); if (dir == LEFT) parent->left = y; else parent->right = y; } delete p; return root; } Node* search_insert(Node* root, const Data& data, Action action, Dir& dir, Node*& parent){ Node* p =root; bool found = false; int cmp; parent = 0; while (p && !found){ cmp = strcmp(data.number, p->number); if(!cmp) found = true; else{ parent = p; if (cmp < 0) { p=p->left; dir = LEFT;} else { p = p->right; dir = RIGHT;} } } if (action !=INSERT) return p; Fine* pf = new Fine; strncpy(pf->time, data.time, l_time); strncpy(pf->type, data.type, l_type); pf->price = data.price; pf->next =0; if (!found){ p= new Node; strncpy(p->number, data.number, l_number); p->beg = pf; p->left = p->right = 0; if(dir == LEFT) parent->left = p; else parent->right =p; } else { Fine* temp = p->beg; while (temp->next) temp = temp->next; temp->next= pf; } return p; } void write_dbase(ofstream f, const Node *p) { if(p){ write_node(f, *p); write_dbase( f, p->left); write_dbase (f, p->right); } } void write_node(ofstream f, const Node& node){ f << node.number << endl; Fine* pf = node.beg; while{pf}{ f << pf->time << endl <<pf->type <<endl << pf->price << endl; pf =pf->next; } f<< "=" <<endl; return 0; } //-------------------------------
Мог бы хоть написать какой язык программирования.... И думаю на врядли кто возьмется за это просто так.... Этот сайт не по решению домашних заданий....
Люди помогите..... ПЛЛЛЗЗЗЗзззз! Вот текст программы #include <conio.h> #include <stdio.h> #include <stdlib.h> #define n 10 #define IA for(i=0; i<n; i++) void _max(int *a, int *max, int *imax); void _min(int *a, int *min, int *imin); void _SrAr(int *a, float *SrAr); void main() { int a[n], max, imax,i; int min, imin; float SrAr; randomize(); IA a=random(10); printf("Zgenerovanuy masuv e takum:\n"); IA printf("%d",a); puts(""); _max(a, &max, &imax); printf("max=%d\n imax=%d\n",max,imax+1); _min(a, &min, &imin); printf("min=%d\n imin=%d\n", min,imin+1); _SrAr(a, &SrAr); printf("Seredne arufmetu4ne=%f", SrAr); getch(); clrscr(); } void _max(int *a, int *max, int *imax) { int i; *max=a[0]; IA if (*max<a) { *max=a; *imax=i; } } void _min(int *a, int *min, int *imin) { int i; *min=a[0]; IA if (a<*min) { *min=a; *imin=i; } } void _SrAr(int *a, float *SrAr) { int k,i; k=0; SrAr=0; IA if (a<0) { SrAr+=a; k++; } if (k>0) SrAr/=k; } Язык С, программа находит максимальный, минимальный, и их последовательные номера, да и еще среднее арифметическое сгенерированого массива. Но она не паше тдоходит до SrAr/=k; Останавливаесться на к и компилятор арет Illegal use of pointer. Я понимая что что-то не так с указетелем, неправильное использование, но что? ПОМОГИТЕ Плз. Глюк токо в последней фу-и _SrAr.
Задачи по Паскалю 2 лабы по массивам 1) Даны целочисленные массивы X и Y с разным количеством элементов. Найти максимальные элементы в этих массивах среди элементов, имеющих нечетный индекс. Ввод массивов выполнять в процедуре, а нахождение максимального элемента - в функции. 2) Дан массив целых чисел. Получить новый массив из первоначального, отбросив все нулевые элементы в этом массиве. Также используя процедуры и функции Помогите плиз, срочно надо, самому мне долго разбераться
2) Code: program vtoraia; const n=10; var x,t:integer; a,b:array [1..n] of integer; begin t:=1; for x:=1 to n do a[x]:=random (100); for x:=1 to n do if a[x]<>0 then begin b[t]=a[x]; t:=t+1; end; for x:=1 to t do writeln (b[x],' '); readln end.
У тебя ошибка: Code: if a[x]<>0 then begin b[t]=a[x]; t:=t+1; end; Точнее: Code: then begin b[t]=a[x] Там не "=" там ":=" Еще посмотри на свой код: Code: begin t:=1; for x:=1 to n do a[x]:=random (100); for x:=1 to n do if a[x]<>0 then begin b[t]=a[x]; t:=t+1; end; for x:=1 to t do writeln (b[x],' '); readln end. Точнее: ЗАЧЕМ ТЫ ПИШЕШЬ ТАК: Code: if a[x]<>0 then begin b[t]=a[x]; t:=t+1; end; Этот цикл( for x:=1 to t do writeln (b[x],' ');) Длится не до t, а до t-1;
Ничего сложного там нет Вот по его примеру составил функцию: Code: program MasSiv; [B]Function Massiv(a:array of integer;n:integer):string;[/B]{Это и есть наша функция:)} var x,t:integer; b:array [1..500] of integer; begin t:=1; for x:=1 to n do a[x]:=random (20); for x:=1 to n do if a[x]<>0 then begin b[t]:=a[x]; [COLOR=Green][B]inc(t);{тоже самое что и t:=t+1}[/B][/COLOR] end; [COLOR=DarkGreen] [B]for x:=1 to n do write (a[x],' ');{Выводим исходный массив(для сравнения)}[/B] [/COLOR] Writeln; Writeln; [COLOR=DarkGreen] [B]for x:=1 to t-1 do write (b[x],' ');{Выводим полученный массив}[/B][/COLOR] [I] readln;[/I] end; [B]const n=20[/B];{n элементов в массиве} var a:array [1..n] of integer; begin Massiv(a,n);{Используем нашу функцию:)} end.
De-visible, не совсем условию соответствует Еще вариант. Задача 1 Code: program Zodacha_one; const XSize = 5; YSize = 11; procedure fillmassive (numel : integer; var a : array of integer); var i : integer; begin randomize; for i := 0 to numel - 1 do a[i] := Random (100); end; function getmax (numel : integer; a : array of integer) : integer; var i, max : integer; begin i := 0; max := a[i]; while i < numel do begin if a [i] > max then max := a [i]; i := i + 2; end; getmax := max; end; var x : array [1..XSize] of integer; y : array [1..YSize] of integer; i, max : integer; begin fillmassive (XSize, x); for i := 1 to XSize do write (x[i], ' '); writeln; max := getmax (XSize, x); writeln ('Max = ', max); fillmassive (YSize, y); for i := 1 to YSize do write (y[i], ' '); writeln; max := getmax (YSize, y); writeln ('Max = ', max); end. Задача 2 Code: program ZodachaTwo; const Size = 30; type TMassive = array [0..Size - 1] of integer; procedure FillMassive (numel : integer; var a : TMassive); var i : integer; begin Randomize; for i := 0 to numel - 1 do a[i] := Random (10); end; function NotNullCount (numel: integer; a : TMassive) : integer; var i, cnt : integer; begin cnt := 0; for i := 0 to numel - 1 do if a[i] <> 0 then cnt := cnt + 1; NotNullCount := cnt; end; function DropNulls (numel : integer; a : TMassive) : TMassive; var i, j : integer; t : TMassive; begin i := 0; j := 0; while i < numel do begin if a [i] <> 0 then begin t[j] := a [i]; j := j + 1; end; i := i + 1; end; DropNulls := t end; var x, y : TMassive; i, count : integer; begin FillMassive (Size, x); for i := 0 to Size - 1 do write (x[i], ' '); writeln; y := DropNulls (Size, x); count := NotNullCount (Size, x); for i := 0 to count - 1 do write (y[i], ' '); writeln; end.
pascal Добрый вечер, вот собственно возникла проблема, курсовая , а я понимаю только Php"Написать программу, которая решает задачу резервирования оборудования сети. Номера аварийных узлов вводятся с клавиатуры," даже не понимаю в каком направлении идти.
ааа...НАРОД помогите пожалуйста,буду настолько МЕГА благодарен!... =))) " программf решающая квадратное уравнение ax(в квадрате) + bx+c=0 каэф abc что бы вводились с клавиатуры. " В ПАСКАЛЕ... Очень прошу! =) Зараннее благодарен.