Решение лабораторных, контрольных и т.д. на С++

  • Автор темы Автор темы European
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Помогите реализовать задачу:
Напишите простой шаблон предикатной функции isEqualTo, которая сравнивает два своих параметра при помощи оперлции проверки равенства (==) и возвращает 1, если они равны, и 0, если не равны.
Затем напишите отдельную версию программы, которая вызывает isEqualTo с определяемым пользователем типом и не перегруженной операцией равенства.
Теперь перегрузите операцию равенства (используйте функцию-операцию operator==).

Вот набросал кусок, правильно ли?
Код:
#include<iostream>
using namespace std;

template <typename T>
bool isEqualTo (const T& arg1, const T& arg2){ //change to reference if complex types might be compared as well
return arg1==arg2;
}

void main(){
int a;
int b;

cout<<"Enter two interger values: ";
cin>>a>>b;
cout<<endl<<a<<" and "<<b<<" are "<<(isEqualTo(a,b) ?"equal":"not equal")<<endl;

char c;
char d;

cout<<endl<<"Enter two character values: ";
cin>>c>>d;
cout<<endl<<c<<" and "<<d<<" are "<<(isEqualTo(c,d) ?"equal":"not equal")<<endl;

double e;
double f;

cout<<endl<<"Enter two double values: ";
cin>>e>>f;
cout<<endl<<e<<" and "<<f<<" are "<<(isEqualTo(e,f) ?"equal":"not equal")<<endl;

// System Pause
system ("pause");

}
 
Помогите с программой:
Нужно найти количество разных элементов матрицы.
Я решил это, но всегда выдает число 2(при любых элементах):
#include <stdio.h>
#include <conio.h>
#define n 2
#define m 2
void InitMatrix(int a[n][m]);
void main()
{ int c[n][m];
int i=0, j=0, c[n][m],k=0;
InitMatrix©;
for(;i<n;i++)
for(;j<m;j++)
{ if(repeatable(c[j]),i,j) continue;
else k++;
}
printf("\n%d",k);
getch();
}

void InitMatrix(int a[n][m])
{ int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",a[j]);
}

int repeatable(int x, int a, int b)
{ int i,j;
for(i=0;i<=a;i++)
for(j=0;j<(i<a?n:b);j++)
if(x[a]==x[j]) return 1;
return 0;
}
 
Помогите пожалуйста написать программу на Турбо С
//Тема:::::ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ


Вот задание:



Составить программу, моделирующую заполнение гибкого магнитного диска.

Общий объем памяти на диске 360 Кб. Файлы имеют произвольную длину от 18 байт до 32 Кб. В процессе работы файлы либо записываются на диск, либо удаляются с него. В начале работы файлы записываются подряд , друг за другом. После удаления файла, на диске образовывается свободный участок памяти, и вновь записываемый файл записывается на этот участок, либо , если файл не вмещается на свободном участке, размещается после последнего записанного файла.
В случае, когда файл превосходит длину самого большого свободного участка выдается аварийное предупреждение.
Требование на запись или удаление файла происходит с командной строки, которая содержит имя файла , его длину в байтах, признак записи или удаления. Программа должна выдавать по запросу сведения о свободных и занятых участках памяти на диске.
Указание : следует создать список занятых и список свободных участков памяти на диске.

Благодарю за объяснение и за похожие примеры решения ,или кого заинтересует основной код напишите...спасибо.
 
Люди, помогите заполнить матрицу положительными и отрицательными числами с помощью функции RAND.
У меня мой код заполняет только положительными! :( Как ни переделывала, все равно отрицательные никак не хочет.

Код:
#include <stdio.h>
#include <time.h>
#define N 5

int main()
{
int A[N][N];
int i, j, q, S;

/*VVOD i VIVOD MASS*/

srand((int)time(NULL));
for(i=0; i<N; i++)
{ for(j=0; j<N; j++) 
{ A[i][j]=rand()%(-20,+20); }
}

printf("\nMass imeet vid\n\n");

for(i=0; i<N; i++)
{ for(j=0; j<N; j++)
{ printf("%5d",A[i][j]); }
printf("\n");
}

return 0;

}
 
Разработайте программу, реализующий функции преобразования известных физических величин: длина, вес, объем, площадь, температура, а также курсы валют.
Для длины преобразования осуществлять для: метров, сантиметров, километров, дюймов, футов, милей.
Для веса преобразования осуществлять для: граммов, килограммов, тонн, дюймов, унций, фунтов.
Для объема преобразования осуществлять для: сантиметров куб, метров куб., литров, дюймов куб, футов куб., ярдов куб., галлонов.
Для площади преобразования осуществлять для: сантиметров кв., метров кв., аров, дюймов кв., футов кв., ярдов кв., акров.
Для температуры преобразования осуществлять для: градусов цельсия, градусов кельвина, градусов фаренгейта.
Для курсов валют преобразования осуществлять для: рублей, долларов, евро.
Графический интерфейс пользователя должен содержать минимум компонентов. Преобразования должны быть симметричными, т.е. вводить количественные данные можно в любом поле.
Класс окна должен иметь методы setValue и getValue, которые устанавливают и возвращают значение физической величины. При установке физической величины должны настроиться визуальные компоненты
Помогите за хорошую оплату!!!

на C++ в QT3 в Linux
 
Помогите, плиззз. Очень надо!
Составить прогу, которая содержит текущую информацию о книгах в библиотеке:
Сведения о книгах включают:
a) номер УДК;
:) фамилию и инициалы автора;
c) название;
d) год издания;
e)количество экземпляров данной книги в библиотеке.

Программа должна обеспечивать:
a)начальное формирование списка;
:( при взятии каждой книги вводится номер УДК, и программа уменьшает количество экземпляров данной книги на единицу или выдает сообщение о том, что требуемой книги в библиотеке нет, или требуемая книга находится на руках;
c) при возвращении каждой книги вводится номер УДК, и программа увеличивает значение количества книг на единицу;
d) по запросу выдаются сведения о наличии книг в библиотеке.
 
С: Естественное двухпутевое слияние.
Приветствую!
Никак не могу правильно написать процедуру сортировки одномерного массива естественным двухпутевым слиянием. В алгоритме разобрался, а вот сам листинг программы не могу сделать, хоть убей!
Кому не лень, выручайте студента! Только саму процедуру сортировки, остальное готово. И если можно с комментариями, для чего какая переменная :)

Для справки, сам смысл этого метода:
Этот алгоритм ищет упорядоченные отрезки с двух концов файла и переписывает их по очереди также в оба конца. Повторяя эту процедуру в цикле, мы приходим к середине файла, что означает окончание сортировки. Проиллюстрируем работу алгоритма на примере файла из 16 элементов:
503│87 512│61 908│170 897│275 653│426 154│509│612│677│765 703
-> -> -> -> -> <- <- <- <- <-
Черточками разделены упорядоченные отрезки, стрелками показаны направления упорядочения внутри отрезков. На первом шаге сливаются отрезки 503 слева и 703 765 справа в один отрезок, который записывается в левый конец файла, на втором шаге сливаются отрезки 87 512 слева и 677 справа, которые записываются в правый конец файла и т.д.В результате файл принимает следующий вид:
503 703 765│ 61 612 908│ 154 275 426 │653│ 897 509 170 │677 512 87
-> -> -> -><- <- <-

Дальнейшие шаги дают следующие результаты:
87 503 512 703 765 │154 275 426 │653 │ 908 897 612 509 170 61
-> -> -><- <-

61 87 170 503 509 512 612 677 703 765 897 │ 908 │ 653 426 275 154
-> -> <- <-

61 87 154 170 275 426 503 509 512 612 653 677 703 765 897 │ 908 │
-> <-

Зарание спасибо!
 
Народ выручайте!
Учусь на сис.адм.,а тут программирование стандартно идет.
Не дружу я с ним......
Нужно написать приложение по работе с библиотекой.
Сам буду очень долго писать,неуспею.Или ссылку на подобную прогу...
вот файл
 

Вложения

  • tmp12.doc
    tmp12.doc
    85 КБ · Просмотры: 176
зачем тогда выбрал эту специальность? и вообще, файлы принято паковать в архивы

зачем отвечать если это не касается проги? а насчет файлов буду в курсе.
всем кто ответит что нибудь толковое буду очень признателен
 
Уважаемые! помогите пожалуйста... совсем ни с чем не успеваю=( да и фактически не понимаю СИ..
Нужна программка...
задание: Считать из текстового файла слова в односвязный список и затем удалить из него симметричные слова – палиндромы (например - ШАЛАШ) .Вывести элементы списка на экран до и после удаления палиндромов.
Буду рада любой помощи!
 
Помогите пожалуйста исправить код программы на Си++:
Дана такая задача:
Задана система двусторонних дорог, где для любой пары городов есть соединяющий их путь. Найти город с минимальной суммой расстояний до остальных городов.

Текст программы:
[codebox]
#include <iostream>
#include <math.h>
using namespace std;
void main()
{int n,a,k,b,i=0,j=0,t=0;
int* m;
cout<<"vvedite kolichestvo gorodov:"<<"\n";
cin>>n;
m= new int[n,n];
for(int q=0;q<=n;q++)
{
for(int r=0;r<=n;r++)
m[q,r]=0;
}
cout<<"vvodite\n";
while((i>=0) && (j>=0) && (t>=0))
{
cin>>t;
if(t>0)
i=t;
else
break;
cin>>t;
if(t>0)
j=t;
else
break;
cin >> t;
if((i>0) && (j>0) && (t>0))
{
m[i,j]=t;
m[j,i]=t;
}
else
break;
}

for (i=0; i<=n; i++)
a=a+m[0,i];
for (i=1; i<=n; i++)
{
for (int j=0; j<=n; j++)
{
b=b+m[i,j];
}
if(b<a)
{
a=b;
k=i;
}
}
cout << " Gorod s minimalnoy summoy rasstoyaniy do ostalnix gorodov: " << k;
cout << endl;
}
[/codebox]


Вот...только у меня это не работает, не знаю как исправить.
Надо: мы задаем сначала 1ое число - это первый город, 2ое число - это второй город, 3ее число - это расстояние между городами. Не обязательно что между всеми городами есть соединяющая их дорога (т.е. к примеру если у нас 3 города, то например есть путь от 1 ко 2 и от 2 к 3ему, а от первого к 3ему прямой дороги нет - она проходит только через город 2 ну и т.п.)
помогите кто чем может плииииз...
 
Привет всем!!
Я студентка Радика, пишу вам в надежде на помощь! Скоро уже лето:) и близится сессия(. Я пытаюсь сдать все экзамены досрочно, потому что запланированны курсы на лето по повышению уровня говорения на английском, но все было бы замечательно если бы не программирование. Осталось досдать преподу две лабы..но я не сильна в программирование, точнее я его НЕ ЗНАЮ!. :mellow: Вот и сражаемся с ним :( Пожалуйста, оч оч сильно прошу вас...помогите!!!
Написать нужно программы на Visual C++:

1 прога
Задание
Составить программу сортировки вводимых с клавиатуры строк путем сорти¬ровки массива указателей на строки. Признак конца строки - символ, задаваемый поль¬зователем в диалоге. Прием строк завершается после ввода соответствующего символа, задаваемый пользователем в диалоге, или после ввода определенного задаваемого пользователем числа строк. Вид сортировки: В порядке возрастания кода первого символа.
Методические указания:
1. Каждая строка в соответствии с соглашениями языка C должна заканчиваться символом '\0'..
2. Память под хранение строки должна выделяться динамически. Объем этой память должен в точности соответствовать длине строки. Для этого строка предварительно вводится в буферный массив, размерность которого больше, чем предполагаемый максимальный размер строки, например 256. Затем анализируется реальный размер введенной строки, выделяется память с помощью функций malloc или new и строка копируется в отведенное место с помощью функции strcopy.
3. Операции ввода строки и сортировки должны быть оформлены соответствующими функциями на языке С.

2 прога
Составить программу, считывающую существующий файл с диска, и выпол¬няющую обработку:удалить слова, содержащие заданный символ; терминала.
Результат работы помещается в новый файл (с фиксированным именем). Места изменений фиксируются программой и отобра¬жаются на экране.

ваша cawry :)
 
Заполнить матрицу ЛП, от левого верхнего угла по спирали: вниз - вправо - вверх - влево.
Скрин:


Помогите пожалуйста, кто знает, С++
 
Если размерность матрицы = const, то самый "простой" способ, что- то типо :

Код:
int matrix[9][9];
...
for (i = 0; I<9; i++) {
scanf("%d", &matrix[0][1]) // первый столбик вниз.
}
for (i = 1; I<9; i++) {
scanf("%d", &matrix[8][i] //нижняя строка.
}
for (i = 8; i > -1; i--) {
scanf("%d",&matrix[i][8]) // вверх по правому краю.


И так далее, только главное не ошибиться с арифметикой. Может где-то тут я просчитался но смысл впринципе понятен.
 
Помогите пожалуйста!
Заданы 2 строки, состоящие из слов, разделенных пробелами.1) Приписать три символа второй строки к первой. 2)Поменять местами в измененной первой строке первое и последнее слово.
С 1 разобрался а вот 2 пункте ни как.
Помогите чем сможете!
 
Исходный текст записан на странице с числом символов в строке L.
Переписать его на страницу с числом символов в строке M.Слова не разрывать.
Считать, что текст помещается на странице целиком.
[codebox]
#include <iostream.h>
#include <conio.h>
void main()
{
int n,l,k,t,L,M,i,j;
cout<<"pa3Mep:";
cin>>n;

cout<<"M";
cin>>M;
cout<<"L";
cin>>L;

char **A,**B;
A=new char*[n];
for(i=0;i<L;i++)
A=new char[L];
for(i=0;i<L;i++)
for(j=0;j<L;j++)
cin>>A[j];// это я массив ввожу

t=0;
for(i=0;A!='0';i++)
for(j=0;A[j]!='0';j++)
t++;//вот тут у меня большие вопросы,так как этим циклом я хотел посчитать количество введенных символов в массив А

B=new char*[n];
for(i=0;i<n;i++)
B=new char[M];
k=M%t;
l=t-k*M;
A[j]=B[k][l];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cout<<B[k][l];
}
[/codebox]




я кое че сам написал но не знаю правильно ли,основное чего там нету это функции чтоб копировать слова без разрыва,помогите будьте добры :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!