Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

Влад(SAN):

В "задаче" только ввод-вывод, такие вещи и самому сделать - пара пустяков.

var i,j:integer; a:array[1..50,1..4] of string[30];beginwriteln('Введите данные, для выхода вместо ввода вида транспорта нажмите просто Enter');for i:=1 to 50 do begin write(Вид транспорта?			 '); readln(a[i,1]); if a[i,1]='' then break; write('Маршрут?					'); readln(a[i,2]);write('Протяженность маршрута(км)'); readln(a[i,3]);write('Время в дороге?			 '); readln(a[i,4]) end;writeln;writeln('________________________________________________________________');writeln('Вид транспорта|Маршрут|Протяженность маршрута(км)|Время в дороге|');writeln('______________|_______|__________________________|______________|');for j:=1 to i-1 do   writeln(a[j,1],'|':15-length(a[j,1]),a[j,2],'|':8-length(a[j,2]),  a[j,3],'|':27-length(a[j,3]),a[j,4],'|':15-length(a[j,4]));writeln('________________________________________________________________|');writeln; readlnend.
Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Тролль!

Спасибо!

Очереди в этой сортировке мне нужны для того, чтобы сделать всё так, как указано в етой книге:

"Ахо А., Хопкрофт Дж., Ульман Дж. - Построение и анализ вычислительных алгоритмов. М., 1979", стр. 98-101.

Буду разбирацца..))

Ссылка на комментарий
Поделиться на другие сайты

ТРОЛЛЬ, я вот нашел готовое задание.

Ты не мог бы пожалуйста посмотреть правильно оно или нет?

там в перегрузке присваивания вроде нету, не подскажешь как сделать?

#pragma hdrstop

#include <conio.h>

#include <stdlib.h>

#include <iostream.h>

const maxsize=10; //макс. кол-во элементов вектора

class Vector

{ private:

int size; //размер вектора

int coord[maxsize]; //координаты вектора

public:

Vector(int n); //конструктор

void ViewVector(void); //вывод значений эл-тов вектора

void InputVector(void); //ввод вектора

Vector operator + (Vector b); //сложение векторов

int operator * (Vector b); //умножение векторов

Vector operator - (); //изменение знака вектора

};

//---------------------------------------------------------------------------

#pragma argsused

Vector::Vector(int n)

{ //констурктор

if (n>maxsize)

{

cout<<"Error - vector is too large"<<"\n";

exit(1);

}

else

{

size=n;

for(int i=0;i<n;i++) coord=0;

}

}

void Vector::InputVector()

{ //ввод вектора

for(int i=0;i<size;i++)

{

cout<<"Vector [ "<<i<<" ] = ";

cin>>coord;

}

cout<<"\n";

}

void Vector::ViewVector()

{ //вывод вектора

for(int i=0;i<size;i++)

{

cout<<coord<<" ";

}

cout<<"\n"<<"\n";

}

Vector Vector::operator + (Vector b)

{ //сложение векторов

if (size != b.size)

cout<<"Error - vectors are of different dimensions"<<"\n";

else

for(int i=0;i<size;i++) coord+=b.coord;

return *this;

}

int Vector::operator * (Vector b)

{ //умножение векторов

int m=0;

if (size != b.size)

cout<<"Error - vectors are of different dimensions"<<"\n";

else

for(int i=0;i<size;i++) m=m+coord*b.coord;

return m;

}

Vector Vector::operator - ()

{ //изменение знака вектора

for(int i=0;i<size;i++)

coord=-coord;

return *this;

}

int main(int argc, char* argv[])

{//тестирование класса

Vector a(3), b(3);

int c;

cout<<"Input a :"<<"\n";

a.InputVector();

cout<<"a = ";

a.ViewVector();

cout<<"Input b :"<<"\n";

b.InputVector();

cout<<"b = ";

b.ViewVector();

cout<<"\n";

a=a + b; //сложение

cout<<"a = a + b"<<"\n";

cout<<"a = ";

a.ViewVector();

c=a * b; //умножение

cout<<"c = a * b"<<"\n";

cout<<"c = "<<c<<"\n";

a=-a; //изменение знака вектора

cout<<"\n"<<"- a = ";

a.ViewVector();

getch();

return 0;

}

Не могли бы вы помочь сделать блок-схемы?

Ссылка на комментарий
Поделиться на другие сайты

Блок-схемы рисуются только для бестолковых заказчиков, чтобы показать им "гигантский" объем проделанной работы. А рисовать их - занятие для младшего школьного возраста - берем линейку и карандаш и перерисовываем текст программы в квадратики и ромбики, игнорируя отступы, а обычно и комментарии. В результате программа становится нечитаемой и непонятной. Правда, это не имеет значения, так как блок-схема на самом деле никому и не нужна.

Поэтому для построения блок-схем используются обычно готовые программы построения блок-схем по готовым текстам. Две последние ссылки из этого поста годятся и для C++.

Ссылка на комментарий
Поделиться на другие сайты

Помогите решить задачи в Паскале:

1.Сформируйте массив из 10 целых чисел,введенных с клавиатуры. Подсчитать количество отрицательных элементов

2. Дан массив из N вещественных чисел. Написать программу, определяющую минимальный элемент массива и его номер

3.В массиве хранится информация о среднедневной температуре за первую неделю декабря. Составить программу, которая подсчитывает, сколько в декабре было дней с нулевой, положительной и отрицательной температурой.

Ссылка на комментарий
Поделиться на другие сайты

С клавиатурьі последовательно вводятся слова. Если слово совпадает из первьім словом из очереди то оно удаляется из очереди, если нет - тогда додается в очередь. Ввод слов останавливается при введении слова "STOP". После етого очередь вьіводится на екран. Язьік - С++

Ссылка на комментарий
Поделиться на другие сайты

serzh72:

1.Сформируйте массив из 10 целых чисел,введенных с клавиатуры. Подсчитать количество отрицательных элементов
var i,m:integer; a:array[1..10]of integer;beginfor i:=1 to 10 do read(a[i]); readln; m:=0;for i:=1 to 10 do if a[i]<0 then inc(m); writeln('m=',m); readlnend.
2. Дан массив из N вещественных чисел. Написать программу, определяющую минимальный элемент массива и его номер
var i,n,m:integer; min:real; a:array[1..100]of real;beginwrite('n ? '); readln(n);for i:=1 to n do read(a[i]); readln; m:=1; min:=a[1];for i:=2 to n do if a[i]<min then begin m:=i; min:=a[i] end;writeln('min=a[',m,']=',min:10:3); readlnend.
3.В массиве хранится информация о среднедневной температуре за первую неделю декабря. Составить программу, которая подсчитывает, сколько в декабре было дней с нулевой, положительной и отрицательной температурой.

Я не провидец, и компьютер тоже. По данным за первую неделю декабря подсчитать среднюю темпкратуру будущих недель мог бы разве что Нострадамус, а его среди пользователей форума пока вроде не числится :g:

Ссылка на комментарий
Поделиться на другие сайты

core_st:

С клавиатурьі последовательно вводятся слова. Если слово совпадает из первьім словом из очереди то оно удаляется из очереди, если нет - тогда додается в очередь. Ввод слов останавливается при введении слова "STOP". После етого очередь вьіводится на екран. Язьік - С++
#include<iostream>#include<string>using namespace std;main(){struct Queue {struct St{string info; St *ref; St(string i, St *r){info=i; ref=r; };}; St *beg, *end, *q;  void into(string i){end->ref=end=new St(i,NULL);} string out(void){if(beg->ref!=NULL){q=beg->ref; delete beg; beg=q; return q->info;}return "";} string read(void){if(beg->ref!=NULL)return beg->ref->info; else return "";}  Queue(){beg=end=new St("",NULL);}};Queue p; string i; while(true){cout<<" Enter string: "; getline(cin,i); if(i=="STOP")break;  if(i==p.read()) p.out(); else p.into(i);}  cout<<endl; while(true){if((i=p.out())=="")break; cout<<i<<endl;} getchar();}

P.S. Слегка упростил, выкинув лишнюю переменную.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Спасибо огромное!!! А можно еще разобрать алгоритм роботьі? а то я не очень понимаю очереди и стеки. буду весьма благодарен

Ссылка на комментарий
Поделиться на другие сайты

getline(cin,i); - здесь ошибку дает. Компилятор Code Gear C++ Builder. наверное нужно както по другому записать ету функцию?

Ссылка на комментарий
Поделиться на другие сайты

Может быть. Я проверял в Dev-C++. А C++ - это лишь семейство похожих языков. Библиотеки разных сред отличаются.

getline(cin,i); - это просто ввод строки. Обычный cin>>i; вводит строку только до первого пробела, а остальное оставляет на следующий ввод. В принципе по заданию вводятся только слова, а не строки, так что можно просто заменить на cin>>i;

Но красивее иметь возможность вводить в очередь не только слова, а и строки. Бывает вариант cin.getline(i,200); где 200 было бы максимальной длиной вводимой строки, а может быть и иначе. Посмотри в C++ Builder, как в нем вводится строка через cin, или упрости до cin>>i; , благо это тоже соответствует условию.

P.S. А насчет понимания, в C++ всегда трудно что-либо понять. Поэтому мне очень жаль постепенно теряющего место под солнцем Паскаля. Чего стоит только фрагмент программы delete beg; beg=q; :blush2: Мы вроде бы уничтожаем запись beg, а потом присваиваем несуществующей записи значение q? На самом деле это типичный для C++ трюк - уничтожается не beg, а то, на что beg указывает. Два пишем, три в уме :bye1:

Работает всё это так. Например, вводим

a

b

c

a

d

b

e

STOP

Должно вылезть на экран

c

d

e

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Доброго вечера.Прошу вас помогите пожалуйста создать программу нужно сдавать до пятницы а по мимо этого еще 5 зачетов висит...

очень прошу о помощи...

1. Цель работы

Реализовать контейнерный класс в соответствии с вариантом задания, а также выполнить перегрузку операций. Создать интерфейс для тестирования всех функций класса.

2. Характеристики работы

Данные: Максимальное количество элементов множества (n), текущее количество элементов множества, массив для хранения элементов множества.

Операции: Конструктор, создающий пустое множество. Деструктор, освобождающий память, выделенную под массив. Добавления элемента i в множество. Удаление элемента ш из множества. Определение принадлежности элемента I к множеству. Вывод множества в виде { 1, 3, 4 }.

"+" - объединение множеств.

"*" - пересечение множеств.

"-" - удаление элемента из множества.

"+" - добавление элемента в множество.

"=" - присваивание множества.

Ссылка на комментарий
Поделиться на другие сайты

помогите пожалуйста в дискретке, решить 1 из след. задач:

Имеется "чёрный ящик", вычисляющий функцию f от n переменных. На скольких наборах надо вычислить значения функции, чтобы восстановить полностью таблицу функции f, если

а) f линейна?

б) f самодвойственна?

Имеется "чёрный ящик", вычисляющий функцию f от n переменных. На скольких наборах надо вычислить значения функции, чтобы проверить, что она нелинейна?

Найти число монотонных ДНФ от n переменных.

Сколько ребёр должно быть в графе с n вершинами, чтобы он был обязательно связным?

спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Написать програму перевода однорозрядного восьмеричного в двоичное используя битовьіе поля. Задание тупое и простое, но как туда поля битовьі прилепить?

Ссылка на комментарий
Поделиться на другие сайты

[/b] Тролль

спасиб за предыдущее задание :) а ещё одно можно,а то конец четверти,надо спасать оценку:

Составьте программу,которая формирует массив из пятнадтаци случайных целых чисел от -20 до 20 и отрицательные числа возводит в квадрат,а из неотрицательных извлекает квадратный корень :)

Ссылка на комментарий
Поделиться на другие сайты

serzh72:

Я не Тролль, но попробую помочь:

#include <stdlib.h>#include <stdio.h>#include <time.h>#include <vcl.h>#pragma hdrstop#pragma argsusedint main(int argc, char* argv[]){int mas[20];  time_t t;  srand((unsigned) time(&t));  printf("Ten random numbers from -20 to 20\n\n");  for(int i=0; i<20; i++){   mas[i]=(rand() % 40)-20;   printf("%d\n",mas[i]);}   getchar();  return 0;}

тьфу. не дочитал условие. сецчас доделаю

Вот так

//---------------------------------------------------------------------------#include <stdlib.h>#include <stdio.h>#include <time.h>#include <math.h>#include <vcl.h>#pragma hdrstop//---------------------------------------------------------------------------#pragma argsusedint main(int argc, char* argv[]){float mas[15];  time_t t;  int x;  srand((unsigned) time(&t));  printf("15 random numbers from -20 to 20\n\n");  for(int i=0; i<15; i++){   x=(rand() % 40)-20;   if (x<0) mas[i]=pow(x,2); else   mas[i]=sqrt(x);   printf("%.3f\n",mas[i]);}   getchar();  return 0;}//---------------------------------------------------------------------------
Ссылка на комментарий
Поделиться на другие сайты

core_st:

Задание тупое и простое, но как туда поля битовьі прилепить?
Опять же в одном компиляторе можно немного проще, в другом немного сложнее. Dev-C++ допускает безымянные структуры, но не всякий компилятор это позволяет. Поэтому дам структуре с битовыми полями имя
#include <iostream.h>main(){union{struct{unsigned x1:1,x2:1,x3:1;}b;unsigned k;}p;cin>>p.k; cout<<p.b.x3<<p.b.x2<<p.b.x1<<endl; getchar(); getchar();}

Вводишь, например, 6, получаешь 110.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Помогите плиз, горю!!! Скоро зачет по программированию на с, а у меня для допуска 2 проги нужно накатать в gcc.

1. Написать прогу: входные данные точка О- центр окружности, и R- радиус (вводятся при запуске).=> прога рисует окружность =>

определить площадь S-? длину окружности P-?=>задать точки х и y на окружности =>Определить угол между точками х и y до точки О (угол ХОУ-?)

2. Написать прогу: входные данные координаты точек A и D прямоугольника ABCD (должна нарисовать прямоугольник по этим двум точкам)=> Определить координаты B-? и C-?, координаты точки O-?(центр пересечения диагоналей)=> определить высоту h-?, ширину b-?, площадь S-?, и периметр P-?

также нужны блок схемы и алгоритмы к обоим программам.

:) :D :)

Надеюсь на ваше понимание и поддержку в данном вопросе.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте,помогите,очень нужно,сдавать через день,задание дали поздно.

В верхнетреугольной матрице элементы,находящиеся ниже главной диагонали,равны нулю.Для хранения значения матрицы используется одномерный массив,в котором хранятся только элементы из верхней области.

Нужен конструктор с параметрами,инициализирующий размер матрицы и заполняющий матрицу нулями.Установка значения элемента с индексами i, j,проверка допустимости индексов.Получения значения элемента матрицы с индексами i ,j, с проверкой допустимости индексов.Построчный ввод и построчный вывод матрицы.

На C++

Ссылка на комментарий
Поделиться на другие сайты

Dies:

Ну, вообще-то в задаче 1 очень любопытно, как можно задать координаты точек на окружности без расчетов. Я, например, за исключением нескольких точек, не берусь без калькулятора из головы задать такие координаты, чтобы точка оказалась действительно на окружности. Да и вообще с какой точностью прикажете попадать на линию окружности? Ладно, примем, что с точностью порядка одной сотой радиуса. Насчет графики дело вообще темное. GCC - компилятор, и графика - не его дело, а какие у вас графические библиотеки используются, знает, возможно, тот, кто писал задания, хотя судя по заданиям, писал их он в состоянии легкого подпития. Так что графику я оставлю за рамками решения. А остальное - пожалуйста.

#include<stdio.h>#include<math.h>main(){float x,y,r,pi,s,p,a,xx,xy,yx,yy,u,v;printf("Xc Yc R? "); scanf("%f%f%f",&x,&y,&r); pi=3.1415926536; s=pi*r*r; p=2*pi*r; printf("S=%f\nP=%f\n",s,p); printf("xx xy yx yy? "); scanf("%f%f%f%f",&xx,&xy,&yx,&yy); u=(xx-x)*(xx-x)+(xy-y)*(xy-y); v=(yx-x)*(yx-x)+(yy-y)*(yy-y);if(abs(u-r*r)<0.01*r*r&&abs(v-r*r)<0.01*r*r)  {a=acos(((xx-x)*(yx-x)+(xy-y)*(yy-y))/(r*r)); printf("Angle=%f\n",a);}else printf("Point is not on circle!\n");getchar(); getchar();}

По второй задаче - условие писалось, видимо, в том же состоянии или после следующей рюмки. По общепринятой системе именования вершин прямоугольника (последовательная нумерация вершин) он у нас - прямая линия. Со всеми вытекающими последствиями расчетов.

Я не убежден, что надо рисовать прямую линию и печатать площадь равной нулю. Так что будем считать, что точки обозначаются по системе

A B

C D

Тогда

#include<stdio.h>#include<math.h>int main(){float xA,yA,xD,yD,xB,yB,xC,yC,xO,yO,h,b,s,p,k;printf("xA yA xD yD? "); scanf("%f%f%f%f",&xA,&yA,&xD,&yD);xB=xA; yB=yD; xC=xD; yC=yA; xO=(xD+xA)/2; yO=(yD+yA)/2; h=abs(yD-yA); b=abs(xD-xA); s=h*b; p=2*(h+b);printf("xA=%f yA=%f\nxB=%f yB=%f\nxC=%f yC=%f\nxD=%f yD=%f\n",xA,yA,xB,yB,xC,yC,xD,yD);printf("xO=%f yO=%f\nh=%f b=%f\nS=%f P=%f\n",xO,yO,h,b,s,p); getchar(); getchar();}

Насчет графики замечания прежние - графику я в программу не включал.

Поддержки в вопросе о блок-схемах, скорее всего, будет не найти. Перерисовывать команды в квадратики и ромбики неинтересно, я об этом писал и в этой теме, и в других. Есть неплохие программы для автоматического рисования блок-схем на Паскале, есть и для C, хотя там надо больше ручных доработок, я несколькими постами выше давал ссылку.

P.S. Извиняюсь, поправил ошибку: в формуле для центра прямоугольника стоял минус вместо плюса.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...