Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Решение лабораторных, контрольных и т.д. на С++, Помощь студентам и школьникам
European
Вставить ник
сообщение 4:12:2007, 09:55
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 937
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316



Репутация: - 32 +


Уважаемые студенты, школьники и прочие лица, страждущие помощи!
Вероятнее всего Вам очень срочно нужна помощь и у Вас совершенно нет времени читать правила форума. Я облегчу Ваши поиски и позволю себе процитировать очень важный пункт правил:
Цитата
2.6. При создании новой темы давайте ей осмысленное название. Оно должно отражать суть вашего вопроса или сообщения. За названия подобные "Памагите пажалуста", "Вася ответь", "У меня праблема" ваша тема будет сразу удалена, при повторных нарушениях вам будет запрещена возможность создания тем и посещения конференции.

Кроме того, grigsoft, один из модераторов нашего форума высказал очень правильную мысль в ветке Про Помогите, Спасите, Напишите - как задавать вопросы:
Цитата
Никто не будет писать для вас программу - потому что чтобы написать даже самую простую, надо потратить минимум полчаса. Найдите друзей и знакомых, которые будут рады потратить на вас свое время. Не можете найти - сделайте пост в разделе Предложение работы.

Так вот, эта тема создана специального для того, чтобы Вы размещали свои просьбы здесь. Именно здесь и нигде больше. Все темы, содержащие крики о помощи будут закрываться, перемещаться в раздел "Предложения поработать" или удалятся в зависимости от настроения модератора smile.gif Надеюсь на понимание.

Однако, если Вы немного продвинулись в написании программы и хотите задать конкретный вопрос, то создайте тему с говорящим названием и Вам помогут.

Итак, тема открыта!

P.S. Данная тема, а также адекватная реакция модераторов согласована с администрацией. Так что просьба всех недовольных поберечь свои эмоции!

P.P.S. Внимание! Внимание!! ВНИМАНИЕ!!!
На нашем форуме есть ВЕТКА, в которой Вы можете найти исполнителей для решения Ваших задач
Подняться вверх 
 
Сообщение #1
10 страниц V  < 1 2 3 4 > »   
Новая тема 
Ответов (30 - 59)
kumir
Вставить ник
сообщение 25:12:2007, 14:48
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 2
Регистрация: 25:12:2007
Пользователь №: 14 446



Репутация: - 0 +


Дана ведомость зарплаты сотрудников, в которой указаны табельный номер сотрудников и зарплата каждого. Вывести на экран список табельных номеров сотрудников в порядке увеличения их зарплаты.
помоготе плиз...
Подняться вверх 
 
Сообщение #31
pokemona
Вставить ник
сообщение 25:12:2007, 15:05
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 1
Регистрация: 25:12:2007
Пользователь №: 14 447



Репутация: - 0 +


здравствуйте помогите пожалуйста ,я учу на 1 кусре только только начсинаю с++
нужно «Создание пользовательских функций

задача
Написать функцию, подсчитывающую количество нечетных цифр натурального числа. Используя ее, определить, в каком из трех чисел больше нечетных цифр
помогите очень надо....
Подняться вверх 
 
Сообщение #32
CrLock
Вставить ник
сообщение 25:12:2007, 15:30
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 1
Регистрация: 25:12:2007
Пользователь №: 14 449



Репутация: - 0 +


Помогите пожалуйста написать программу на Турбо С
Вот задание:
По экрану движутся в разных направлениях пузырьки, сталкиваясь друг с другом и отскакивая от краев экрана.

Сообщение отредактировал CrLock - 25:12:2007, 15:31
Подняться вверх 
 
Сообщение #33
SNAKE89
Вставить ник
сообщение 25:12:2007, 20:39
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 1
Регистрация: 25:12:2007
Пользователь №: 14 454



Репутация: - 0 +


Нужно по заданию сделать так чтобы пользователь мог вводить граф с клавиатуры, количество ребер и вершин также вводятся с клавиатуры, и он хранился в памяти в виде списка инцидентности. Соответственно массив должен быть динамическим. Собственно вопрос, как динамически создать массив указателей на структуры, допустим следующего вида
Код
    
struct Elem
{
    int rebro;
    struct Elem *next;
};

И как потом записывать в него данные, соблюдая порядок в списке, т.е. вершина 2 должна быть в списке ближе к началу, чем вершина 7. smile

Работа выполняется на Borland C 3.1
Подняться вверх 
 
Сообщение #34
X-Hunter
Вставить ник
сообщение 26:12:2007, 00:47
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 6
Регистрация: 27:11:2007
Пользователь №: 13 950



Репутация: - 0 +


Задача: В массиве T найти первый и последний нулевые элементы
Код то я сделал,только надо сделать так что бы массив был динамическим...
Код
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int T[10];
    int k = sizeof(T)/sizeof(int);
    int first = -1, last;
    int i;

srand(time(NULL));

for (i=0; i<10; i++)

{
    T[i]=rand()%10-1;
}          

for(i = 0; i < k; ++i)
    {
        if(T[i] == 0)
        {
            first = i;
            break;
        }
    }                            
    if (first >=0)
      for(i = k-1; i >= first; --i)
      {
          if(T[i] == 0)
          {
             last = i;
             break;
          }
      }                            
      printf("Исходный массив:");
    for(i = 0; i < k; i++)
       printf(" %d", T[i]);
    printf("\nРезультат:\n");
    if (last == first)
    {
        printf("Нулевой элемент здесь один, и он на  %d месте\n\n", last);
    }
    else if (first != -1)
    {
        printf("Первый нулевой элемент на %d позиции.\n", first);
        printf("Последний нулевой элемент на %d позиции.\n\n", last);
    }
    else
        printf("Этом массив не содержит нулей!\n\n");

    return 0;



пробовал сделать,но нифига не вышло =(

Код
int main()
{
    int T[100][100];
    int k = sizeof(T)/sizeof(int);
    int first = -1, last;
    int i, m, n, j;

    printf("   Введите количество строк -->> ");
    scanf("%d",&m);
    printf("\n   Введите количество столбцов -->> ");
    scanf("%d",&n);

    
    int **T = new int *[m];
    for( int i =0; i < m; i++){
        T[i]= new int [n];
    }


srand (time( NULL ));

for (i=0; i<m; i++)

{
  for (j=0; j<n; j++)
  {
   T[i][j]=rand()%10-1;
  }
}          

for(i = 0; i < k; ++i)
    {
        if(T[i] == 0)
        {
            first = i;
            break;
        }
    }                            
    if (first >=0)
      for(i = k-1; i >= first; --i)
      {
          if(T[i][j] == 0)
          {
             last = i;
             break;
          }
      }                            
    printf("Исходный массив:");
    for(i = 0; i < k; i++)
       printf(" %.2d ", T[i][j]);
    printf("\n\nРезультат:\n");
    if (last == first)
    {
        printf("Ноль здесь один и находится на %d позиции!\n\n", last);
    }
    else if (first != -1)
    {
        printf("Первый нулевой элемент на %d позиции.\n", first);
        printf("Последний нулевой элемент на %d позиции.\n\n", last);
    }
    else
        printf("Этот массив не содержит нулей!\n\n");

    return 0;
}
Подняться вверх 
 
Сообщение #35
Folderx
Вставить ник
сообщение 26:12:2007, 00:58
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 81
Регистрация: 27:04:2007
Пользователь №: 10 505



Репутация: - 0 +


Цитата(kumir @ 25:12:2007, 16:48 ) *
Дана ведомость зарплаты сотрудников, в которой указаны табельный номер сотрудников и зарплата каждого. Вывести на экран список табельных номеров сотрудников в порядке увеличения их зарплаты.
помоготе плиз...


Прога выводит номера сотрудников по условию возрастания зарплаты. cool.gif
Прикрепленные файлы
Прикрепленный файл  puz.c ( 1.43 килобайт ) Кол-во скачиваний: 21
 
Подняться вверх 
 
Сообщение #36
Folderx
Вставить ник
сообщение 26:12:2007, 01:50
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 81
Регистрация: 27:04:2007
Пользователь №: 10 505



Репутация: - 0 +


Цитата(pokemona @ 25:12:2007, 17:05 ) *
здравствуйте помогите пожалуйста ,я учу на 1 кусре только только начсинаю с++
нужно «Создание пользовательских функций

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


Из двух чисел в которых одинаковое количество нечётных цифр выводится первое по списку cool.gif
Прикрепленные файлы
Прикрепленный файл  func.c ( 1.08 килобайт ) Кол-во скачиваний: 15
 
Подняться вверх 
 
Сообщение #37
Vet`ek
Вставить ник
сообщение 26:12:2007, 13:19
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 2
Регистрация: 17:12:2007
Пользователь №: 14 303



Репутация: - 0 +


В общем суть задания состоит вот в чем:
Вывести на экран все различные представление числа N в виде
всевозможных произведений K натуральных чисел. Представления
чисел, отличающихся только порядком сомножителей (слагаемых),
считаются одинаковыми.

Нашел алгоритмическое решение:

Дополним условия тем, что N, K-вводятся, 1<K<N.
Представления, отличающихся только порядком сомножителей (слагаемых), считаются одинаковыми.
Предложим простой способ построения всех разбиений числа.
на слагаемые. Разбиения будут строится в порядке, обратном лексикографическому. Очевидно, что первым разбиением в таком порядке будет разбиение, содержащее одно слагаемое, равное, а последним - разбиение из слагаемых, равных 1.
Как выглядит разбиение, следующее непосредственно за разбиением
n=с[1]+...+с[к] (1)
Будем искать разбиение, которое имеет самое большое число начальных слагаемых, равных начальным слагаемым разбиения (1) - обозначим эти слагаемые а[1],...,а[t-1] - и оставшиеся слагаемые которого определяются разбиением, непосредственно следующим за разбиением
s=a[t]+a[t+1]+...+a[k].
Легко видеть, что эти условия однозначно определяют значение t
t=max{i:a>1}.
Таким образом, задача свелась к нахождению разбиения, непосредственно следующего за разбиением s=a[t]+1+...+1, где a[t]>1, а количество единиц равно k-t.Таким разбиением является разбиение s1=p+p+...+p+(s mod p), где p=a[t]-1.

Как сей алгоритм пребразавать в рабочий код на билдере?
Подняться вверх 
 
Сообщение #38
Anna_1990
Вставить ник
сообщение 26:12:2007, 20:13
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 5
Регистрация: 26:12:2007
Пользователь №: 14 478



Репутация: - 0 +


Добрый вечер!

Недале как вчера вышла с больничного (месяц на занятиях не была) , сегодня получила от препода целую пачку лаб(3 из 7 сделала) и немогу вникнуть даже в задание... всмысле понять, чего от меня хотят и с помощью чего это сделать?.. учусь я на 1ом курсе, поэтому знаний пока маловато, учитывая тот факт, что в основном учебная программа расчитана на изучения паскаля/делфи.. если кто может чем-либо помочь - буду благодарна. вот задачи...
[size=6] 1. Используя механизм перегрузки функций, написать программу вычисления среднеарифметических значений S1 и S2 элементов двух линейных массивов, причём первый массив имеет тип int, а второй - float.
2. Создать следующую иерархию классов:
Level1 int a
/
Level2 int b
/
Level3 int a*b
Причём, класс Level1 должен содержать переменную-член.
3.Реализовать класс: "Динамическая Строка". Данными-членами класса представить количество элементов в строке и указатель на строку. Реализовать:
-конструктор инициализации, имеющий один параметр (указатель на строку)
-перегрузить операции:=,+
-методы ввода-вывода на экран строки
-деструктор
Перегрузку операции + осуществить с помощью дружественной функции. Объекты в функцию передать по ссылке.
4.Декларировать иерархию классов:

Level1_1(int a) Level1_2(int cool.gif Level1_3(int c)
\ | /

Level2 Cумма(a+b+c)
Класс Level1_1должен содержать внутреннее поле f1 и public функцию-член edit_f1 для созданія этого поля. Аналогично Level1_2 - f2 и edit_f2 и Level1_3 - f3 и edit_f3. Класс Level2 должен иметь общедоступную функцию-член average() для вычисления среднего значения из f1,f2,f3.

Вот такие вот задачи... Что с ними делать - ума не приложу.. Очень извиняюсь перед модератором, за, возможно, нарушение правил.. я бы рада и заплатить.. да вот WM и подобного не имею...Заранне спасибо за помощь.
Подняться вверх 
 
Сообщение #39
Anna_1990
Вставить ник
сообщение 28:12:2007, 18:28
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 5
Регистрация: 26:12:2007
Пользователь №: 14 478



Репутация: - 0 +


Мне совсем никто не поможет?... sad.gif
Подняться вверх 
 
Сообщение #40
sax_ol
Вставить ник
сообщение 28:12:2007, 20:01
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 2 066
Регистрация: 11:01:2007
Пользователь №: 8 750



Репутация: - 28 +


Для: Anna_1990
Где учитесь?
Подняться вверх 
 
Сообщение #41
Anna_1990
Вставить ник
сообщение 28:12:2007, 21:21
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 5
Регистрация: 26:12:2007
Пользователь №: 14 478



Репутация: - 0 +


Для: sax_ol Бел Гос Универститет Информатики и Радиоэлектроники... а что?
Подняться вверх 
 
Сообщение #42
Anna_1990
Вставить ник
сообщение 28:12:2007, 22:53
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 5
Регистрация: 26:12:2007
Пользователь №: 14 478



Репутация: - 0 +


Для: sax_ol Эм... А Вы мне можете помочь? sad.gif huh.gif
Подняться вверх 
 
Сообщение #43
sax_ol
Вставить ник
сообщение 29:12:2007, 08:28
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 2 066
Регистрация: 11:01:2007
Пользователь №: 8 750



Репутация: - 28 +


РТИ что ли? ну так ргех самой то не делать.
Подняться вверх 
 
Сообщение #44
Damawoi
Вставить ник
сообщение 29:12:2007, 10:40
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 1
Регистрация: 29:12:2007
Пользователь №: 14 516



Репутация: - 0 +


Помогите написать игру на Buildere.
Игра разрезающие картинки.
Смысл игры кортинка разбиваеться и ее необходимо сложить в прежнее состояние...
Или помогите найти в нЭте....
Спосибо заранее......
Подняться вверх 
 
Сообщение #45
Anna_1990
Вставить ник
сообщение 29:12:2007, 17:58
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 5
Регистрация: 26:12:2007
Пользователь №: 14 478



Репутация: - 0 +


Я бы с радостью.. да не получается... месяц в универе не была.. теперь зачётов уйму сдать надо.. а продление сессии не дают.. вот и прошу о помощи...
Подняться вверх 
 
Сообщение #46
iceheart
Вставить ник
сообщение 30:12:2007, 08:16
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 20
Регистрация: 14:12:2007
Пользователь №: 14 252



Репутация: - 0 +


Anna_1990:
Я помогу smile.gif
1. Для перегрузки функций достаточно просто написать несколько функций с одинаковым именем, но различающихся по наборам параметров. Для компилятора это будут разные функции, и какая именно из них будет вызвана в программе, определяется ещё на стадии компиляции по количеству и типам входных данных.
Код
#include <stdio.h>
#include <conio.h>

float average( int *_a, int _n )
{
    float sum=0; int i;
    for(i=0;i<_n;i++) sum += _a[i];
    return sum/_n;
}

float average( float *_a, int _n )
{
    float sum=0; int i;
    for(i=0;i<_n;i++) sum += _a[i];
    return sum/_n;
}

void main()
{
    int i, n, m, *S1; float *S2;
    // Заполняем массив целых чисел:
    printf( "Enter number of integer values: " );
    scanf( "%d", &n );
    S1 = new int[n];
    printf( "Enter every integer value that's supposed to be in an array: " );
    for(i=0;i<n;i++) scanf( "%d", S1+i );
    // Заполняем массив float'ов:
    printf( "Enter number of floating point values: " );
    scanf( "%d", &m );
    S2 = new float[m];
    printf( "Enter every floating point value that's supposed to be in an array: " );
    for(i=0;i<m;i++) scanf( "%f", S2+i );
    // Вызываем перегруженные функции:
    printf( "Average among integers: %f\n", average(S1,n) );
    printf( "Average among floating points: %f", average(S2,m) );
    getch();
}
А вообще куда проще то же самое реализовать с помощью шаблонов - тогда достаточно будет описать всего лишь одну функцию:
Код
template <class X> float average( X *_a, int _n )
{
    float sum=0; int i;
    for(i=0;i<_n;i++) sum += _a[i];
    return sum/_n;
}

3. Очень просто:
Код
#include <string.h>

class ttString {
    char *s; int l;
public:
    ttString();                                                        // Различные
    ttString( char *_s );                                            //           версии
    ttString( ttString& _s );                                        //                  конструктора
    ~ttString();                                                    // Деструктор
    ttString& operator =( char *_s );                                // Различные версии
    ttString& operator =( ttString &_s );                            //                  оператора присваивания
    ttString& operator +=( char *_s );                                // Этого не было в задании, хотя
    ttString& operator += ( ttString &_s );                            // должно бы быть...
    friend ttString& operator +( ttString &_s1, ttString &_s2 );    // Различные версии
    friend ttString& operator +( ttString &_s1, char *_s2 );        //                  оператора
    friend ttString& operator +( char *_s1, ttString &_s2 );        //                            конкатенации
};

ttString::ttString()
// Стандартный конструктор
{
    s = 0;        // Избавляемся от случайных значений указателя в памяти
    l = 0;
}

ttString::ttString( char *_s )
// Конструктор, использующий массив символов как прототип
{
    l = strlen( _s );        // Вычисляем длину строки
    s = new char[l+1];        // Выделяем память
    memcpy( s, _s, l );        // Выполняем копирование
}

ttString::ttString( ttString& _s )
// Конструктор, использующий другой объект как прототип
{
    l = _s.l;                // Крадём длину строки
    s = new char[l+1];        // Выделяем память
    memcpy( s, _s.s, l );    // Выполняем копирование
}

ttString::~ttString()
// Деструктор
{
    if( s )delete s;        // Освобождаем память
}

ttString& ttString::operator =( char *_s )
// Присваивание строке значения из массива символов
{
    if( s )delete s;        // Освобождаем буфер, если нужно
    l = strlen( _s );        // Вычисляем длину строки
    s = new char[l+1];        // Выделяем память
    memcpy( s, _s, l );        // Выполняем копирование
    return *this;
}

ttString& ttString::operator =( ttString &_s )
// Копирование объекта строки
{
    if( s )delete s;        // Освобождаем буфер, если нужно
    l = _s.l;                // Крадём длину строки
    s = new char[l+1];        // Выделяем память
    memcpy( s, _s.s, l );    // Выполняем копирование
    return *this;
}

ttString& ttString::operator +=( char *_s )
// Конкатенация с другой строкой из массива символов
{
    if( !s )                // Если эта строка пуста..
    {
        *this = _s;            // ..передаём управление оператору присваивания,
        return *this;        // т.к. конкатенацию как таковую выполнять не нужно.
    }
    char *o = s;
    l += strlen( _s );        // Вычисляем новую длину буфера
    s = new char[l+1];        // Выделяем память
    strcpy( s, o );            // Копируем строку из старого буфера..
    strcat( s, _s );        // И складываем её с новой
    delete o;                // Убиваем старый буфер
    return *this;
}

ttString& ttString::operator += ( ttString &_s )
// Конкатенация с другой строкой из такого же объекта
{
    if( !s )                // Если эта строка пуста..
    {
        *this = _s;            // ..передаём управление оператору присваивания,
        return *this;        // т.к. конкатенацию как таковую выполнять не нужно.
    }
    char *o = s;
    l += _s.l;                // Вычисляем новую длину буфера
    s = new char[l+1];        // Выделяем память
    strcpy( s, o );            // Копируем строку из старого буфера..
    strcat( s, _s.s );        // И складываем её с новой
    delete o;                // Убиваем старый буфер
    return *this;
}

ttString& operator +( ttString &_s1, ttString &_s2 )
// Конкатенация, продуктом которой станет вновь созданный объект
{
    ttString *t;
    t = new ttString( _s1 );    // Создаём новый объект и пишем в него первую часть строки
    *t += _s2;                    // Затем просто складываем со второй
    return *t;                    // И возвращаем этот объект
}

ttString& operator +( ttString &_s1, char *_s2 )
// Конкатенация, продуктом которой станет вновь созданный объект
{
    ttString *t;
    t = new ttString( _s1 );    // Создаём новый объект и пишем в него первую часть строки
    *t += _s2;                    // Затем просто складываем со второй
    return *t;                    // И возвращаем этот объект
}

ttString& operator +( char *_s1, ttString &_s2 )
// Конкатенация, продуктом которой станет вновь созданный объект
{
    ttString *t;
    t = new ttString( _s1 );    // Создаём новый объект и пишем в него первую часть строки
    *t += _s2;                    // Затем просто складываем со второй
    return *t;                    // И возвращаем этот объект
}

Ну вот, соббственно, и пока всё... Написал бы и другие задания, но они какие-то непонятные... Особенно второе. В четвёртом неясно, что именно требуется - сумма трёх чисел или их среднее значение, или и то и другое. Надеюсь, комментарии тоже будут понятны...
Подняться вверх 
 
Сообщение #47
steal13
Вставить ник
сообщение 30:12:2007, 21:30
Цитата Ответить 


Новенький
*

Группа: Новенький
Сообщений: 7
Регистрация: 5:10:2007
Пользователь №: 13 060



Репутация: - 0 +


Я в этом полный ноль, вот задача по С++:

enum K
one
two'
three'
3;
k* (*f1) (K*);

заранее спасибо
Подняться вверх 
 
Сообщение #48