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

  • Автор темы European
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

gamecreator

ты же разбрасываешься тут деньгами - вот и кинь в предложение поработать.

Для: Morpheus
по-моему сначала стоит убрать повторяющиеся номера из списка
 
M

morpheus

Для: gamecreator
зачем... в задаче не стоит условия уникальных звонков
Это Вам не счетчик уникальных банеро-кликов, а простой счетчик кол-ва звонков )))

ну и каким человеком надо быть что бы придумывать такие больные задачи
 
C

Cepesh

Люди, прошу помогите начинающему программисту! Уже который день подряд я бьюсь над решением одной задачи:
a. Базовый класс TreeData:
Необходимо написать базовый класс TreeData, который будет хранить структуру дерева. В этом классе должен быть объявлены абстрактный метод, который позволить вычитать структуру дерева из внешнего источника данных.
Каждый элемент дерева имеет имя и путь к файлу .ico(который может быть пустым).
b. Класс TreeDataFS(потомок TreeData)
Необходимо реализовать класс TreeDataFS, который наследуется от класса TreeData и определяет функциональность для загрузки структуры дерева из Файловой системы(как дерево каталогов и файлов в Explorer). При этом методу загрузки передается единственный параметр Source, который в этом случае содержит полный путь к каталогу с которого начинается постоение дерева. В качестве иконок для каждого элемента дерева следут использовать иконку, соотвествующую файлу или папке(как в Explorer).
c. Класс TreeDataView
Необходимо реализовать класс TreeDataView, один из методов которого будет принимать указатель на TreeData, формировать стурктуру дерева для визуального компонента отображения дерева (TreeView или TreeCtrl) и засталять визуальный компонент перерисовывать дерево.
Готовая программа должна выглядеть как окно диалога с окошком построения дерева и [Edit to display path to root folder] [Select folder button] под ним! Очень прошу вас, Помогите! можно кодом или просто хорошим советом по реализации...
Жду вашей помощи на cepeshvamp@mail.ru
 
G

grigsoft

Для: Cepesh
Так что непонятно-то? Разделяй и властвуй - начни с каркаса, сгенери визардом dialog-based app. Положи туда кнопки и дерево. Напиши код заполнения дерева по указанному каталогу. А потом будет видно как класс спроектировать.
 
C

Cepesh

Для: grigsoft
интерфейс программы я ещё вчера сделал, не знаю как написать код заполнения дерева по указаному каталогу(
 
O

opium

<!--QuoteBegin-gamecreator+24:01:2008, 16:32 -->
<span class="vbquote">(gamecreator @ 24:01:2008, 16:32 )</span><!--QuoteEBegin-->по-моему сначала стоит убрать повторяющиеся номера из списка
[snapback]94900" rel="nofollow" target="_blank[/snapback]​
[/quote]

Вот так и знал что ктонибудь догадается! геймкреатор прав! Нужно убрать повторяющиеся номера
 
G

go6a

С помощью текстового редактора создать файл, содержащий текст длина которого не превышает 1000 символов, а длина строки текста содержит не более 70 символов. Имя файла должно иметь расширение .dat . Написать программу, которая а) выводит текст на экран дисплея б)выводит текст на экран дисплея еще раз, вставляя в каждое предложение заданное слово. введенное с клавиатуры в качестве исходных данных; по нажатию произвольной клавиши поочередно выделяет в тексте вставленное слово(цветом). Программа для с++ 3.1. Помогите, в каком направлении идти при выполнении этого задания?
 
E

European

Всех довольных и недовольных данной темой просьба комментировать ЗДЕСЬ, а в этой теме будем оставлять задачи и, по-возможности, решения на них
 
S

sasha45

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

Код:
char *obrabotka(char *text)			 // В функцию передается указатель на строку
{
char **slova=NULL;				// Указатель на двумерный массив, в котором 1 строка - это 1 слово
// строки
// Указатель на символ
char *a;
int i,j,n=0,m=0,k;
// Указатель на переменную для обмена значений
char *z=NULL;

// Выделение памяти 
slova=(char**)malloc(sizeof(char));
a=(char*)malloc(sizeof(char));
z=(char*)malloc(sizeof(char));

// Передаем строку
a=text;
// Пока не конец строки
while(a!='\0')
{  
// Пока символ - разделитель
while(checkChar(a)==0)
{
// Пропускаем его
i++;
a+=1;
// Если конец строки - прервать цикл
if(a=='\0')
break;
}
if(a=='\0')
break;
// Выделение памяти под строки массива
slova=(char**)realloc(slova,(n+1)*sizeof(char*));
for(j=0;checkChar(a)!=0;j++)
{
// Выделение памяти под элементы строки массива
slova[n]=(char*)realloc(slova[n],(m+1)*sizeof(char));
// Запись слов в строки массива
*(slova[n]+j)=*(a+i);
m++;
// Переход к след. символу
a+=1;
}
n++;
}

// Дальше вроде как идет сортировка
for(i=0;i<n+1;i++)
{
for(k=i+1;k<n+1;k++)
{
if(strcmp(slova[i],slova[k])>0)
{
z=slova[i];
slova[i]=slova[k];
slova[k]=z;
}
}
}

// Возвращаем результат
return slova[i];
}

Но данная функция не работает, даже не знаю почему. Помогите пожалуйста.
 
P

Pasha

Для: sasha45
Она не работает потому, что кто-то вручную режет сточку на слова и вручную сортирует. Используй стандартные istringstream, vector и sort.
 
S

sasha45

Для: Pasha
В том-то и проблема что нужно все это делать вручную. Да и к тому же у нас пока что просто Си, С++ будет потом, где-то через полгода. А пока надо как-то сделать это сделать таким образом. Не подскажешь где ошибка?
 
P

Pasha

Для: sasha45
в просто Си есть strtok (string.h) для разрезания на слова и qsort (stdlib.h) для сортировки.
А не работает оно по разным причинам, хотя бы из за неправильного выделения памяти под slova/a/z.
 
G

gamecreator

а по-моему легче сразу считать по слову cin
 
P

Pasha

Для: gamecreator
Ес-но легче, но в условии нет ничего про чтение из консоли. И cin - это уже ++.
 
A

Andres

Лабораторная 6 "Динамические массивы"

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

Вот программа:

Код:
#include <iostream.h>
#include<iomanip.h>
int const n=4;
int mas[n][n],a,b,sum = 0;
void main()

{ 
for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
cin>>mas[a][b];
}
}
bool error = false;

for(a=0;a<n;a++)
{
for(b=0;b<n;b++)
{
if(mas[a][b] != mas[b][a])
{
error = true;
break;
}
}
if(error == false)
{
cout<<"nomer = "<<a<<endl;
}
}
for(a = 0;a<n;a++)
{
int tsum = 0;
bool otr = false;
for(b = 0;b<n;b++)
{
if(otr == false && mas[a][b] < 0)
otr = true;
tsum += mas[a][b];
}
if(otr == true)
{
sum+=tsum;
}
}
cout<<"summna = "<< sum<<endl;
}


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


Лабораторная 8 "Строки символов"
В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, заменить все цифры от 0 до 9 на слова "ноль", "один", "два",...,"девять.
 
P

Pasha

Для: Andres
Дописать в начале main выделение памяти под mas, в конце - освобождение. Все остальное оставить как есть. Пример где-то тут:
Для: gamecreator
Не надо смешивать ввод/вывод и обработку. Не сбивай человека с правильного пути :)
 
S

Sonja

Помогите пожалуйста, нужно написать пару программ на С++ :)

1.Программу, которая выводит на экран линию из символов. Число символов, какой использовать символ, и какая будет линия - вертикальная, или горизонтальная - указывает пользователь.
2. Программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователе.
3. Пользователь вводит с клавиатуры число - программа должна показать сколько в данном числе цифр. Число вводится целиком в одну переменную.
4. Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.
Например, пользователь ввел число 12345. На экране должно появиться число наоборот - 54321.
5. Пользователь вводит с клавиатуры число, необходимо показать на экран сумму его цифр.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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