Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. StaD

    StaD New Member

    Joined:
    18 Mar 2012
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    что с оплатой? у меня есть старые заготовки на эту тему, но придётся повозиться
     
  2. Ksandr2

    Ksandr2 New Member

    Joined:
    3 Sep 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    манипуляции со строками

    Добрый день!
    Необходимо решить 4 задачки по программированию на языке Си.
    скрин задач прилагаю, готов платить за решение.
    В личку свой номер ICQ и отзывы(если есть на форуме тут)
    [​IMG]
     
  3. po[w]er

    po[w]er Banned

    Joined:
    1 Oct 2012
    Messages:
    57
    Likes Received:
    0
    Reputations:
    0
    Задание:
    Используя класс Bill, реализовать класс ListPayer. Класс Bill должен включать поля: фамилия плательщи-ка, номер телефона, тариф за минуту разговора, время разговора в минутах. Класс ListPayer содержит список плательщиков за телефонные услуги, дату создания списка, количество плательщиков, номер списка. Реализовать методы добавления плательщиков в список, замены и удаления их из него. Поиск осуществляется по номеру те-лефона и по фамилии, по времени (больше или меньше заданной величины).

    Требования к программе:
    Классы-контейнеры требуется реализовать на основе двусвязного списка (см. листинг). В отдельном поле count должно храниться текущее количество элементов списка; реализовать метод count(), возвращающий это количество. Перегрузить операцию индексирования [] по номеру элемента. Индекс проверяется на корректность и в случае ошиб-ки генерируется исключение (использовать стандартное исключение).
    Новый элемент разрешается вставлять первым, последним и по номеру. Удаление элемента выполняется в на-чале, в конце и по номеру.
    Использовать для представления дат простую версию класса Date. В классе должно быть объявлено три поля для года месяца и дня. Класс должен обеспечивать конструкторы инициализации, методы изменения и получения по-лей даты. Реализовать операции сравнения дат, и операции ввода-вывода дат. Все операции реализовать как дружест-венные функции.
    Структура элемента контейнера должна быть объявлена как отдельный класс с конструкторами.
    Интерфейс и реализация всех классов должны быть разделены.
    Для демонстрации работы с объектами нового типа во всех заданиях требуется написать главную функцию. В программе обязательно должны быть продемонстрированы различные способы создания объектов и массивов объек-тов. Программа должна демонстрировать использование всех функций и методов.
    Листинг. Паттерн последовательного контейнера – списка
    class List
    { public:
    // Конструкторы/копирование/присваивание
    List();
    ~List();
    // Итераторы
    // Размеры
    bool empty () const;
    size length () const;
    // Доступ к элементам
    value_type& front();
    value_type& back();
    value_type& operator[](size_t index);

    // Модификаторы контейнера
    void push_front (const value_type&); // добавить в начало
    void pop_front (); // удалить первый
    void push_back (const value_type&); // добавить в конец
    void pop_back (); // удалить последний
    void insert (size_t index, const value_type&); // вставить в указанной позиции
    void erase (size_t index); // удалить указанный (в позиции)
    private:
    struct Node
    { Node(const value_type& a);
    Node(){}
    value_type item; // информационная часть элемента
    Node *next; // следующий элемент
    Node *prev; // предыдущий элемент
    };
    long count; // количество элементов
    Node *Head; // "голова" списка
    Node *Tail; // "хвост" списка
    };


    Постановка задачи
    1. Реализовать программу обработки списка.
    1. Объявить структуру с конструкторами;
    2. Создать и заполнить список с элементами-структурами неупорядоченными случайными значениями. Вариант вставки выбирается случайным образом. Удалить повторяющиеся элементы.
    3. Реализовать алгоритмы 2.2, 4.3 поиска минимума и максимума в неупорядоченном списке.
    4. Реализовать алгоритмы поиска заданного элемента в неупорядоченном списке – паттерн цикла «полный перебор с фильтрацией»:
    4.1. Алгоритм 2.1 – простой последовательный поиск;
    4.2. Алгоритм 4.1 – последовательный поиск с барьером;
    4.3. Алгоритм 4.2 – «развёрнутый» последовательный поиск с барьером
    5. Реализовать алгоритм 4.10 поиска в самоорганизующемся контейнере.

    Алгоритмы поиска должны возвращать индекс найденного элемента. Если элемент не най-ден, должно возвращаться значение -1.
    Для обработки элементов контейнера реализовать класс-функтор, перегрузив подходящим образом операцию operator().
    Выполнить измерения времени работы реализованных алгоритмов. Сравнить скорость рабо-ты реализованных алгоритмов со стандартными алгоритмами поиска. При необходимости реали-зовать и использовать при вызове стандартного алгоритма функтор-предикат.

    Алгоритм 2.2. Поиск максимального среди n чисел
    // Входные данные: последовательность чисел а1,а2,...,аn
    // Выходные данные: максимальное число из элементов ai
    maxv = a1;
    i = 2;
    while (i != n)
    { if (ai > maxv) maxv = ai ;
    i = i + 1;
    }
    return maxv;

    Алгоритм 4.3. Поиск максимального и минимального среди n чисел
    // Входные данные: массив A из n элементов последовательности а1,а2,...,аN
    // Выходные данные: максимальное и минимальное число из элементов ai
    maxv = A[1];
    minv = A[1];
    i = 2;
    if (N % 2 = 0) n = N-1; // до нечетного
    while (i < n)
    { if (A>A[i+1])
    { if (A > maxv) maxv = A;
    if (A[i+1] < minv) minv = A[i+1];
    }
    else
    { if (A[i+1] > maxv) maxv = A[i+1];
    if (A < minv) minv = A;
    }
    i = i + 2;
    }
    if (N > n) // если N - четное
    { if (A[N] > maxv) maxv = A[N];
    if (A[N] < minv) minv = A[N];
    }
    return maxv, minv;


    Алгоритм 2.1. Поиск числа K среди N чисел
    // Входные данные: последовательность чисел а1,а2,...,аN; число K
    // Выходные данные: номер первого найденного элемента
    i = 1;
    while (i != n)
    { if (K = ai) return i;
    else i = i + 1;
    }
    return 0;


    Алгоритм 4.1. Быстрый последовательный поиск в массиве
    // Входные данные: массив А из n элементов а0,а2,...,аN; ключ поиска K
    // Выходные данные: номер первого найденного элемента
    A[N] = K; i = 0;
    while (A!= K)
    { i = i + 1; }
    return i;


    Алгоритм 4.2. Супербыстрый последовательный поиск в массиве
    // Входные данные: массив А n элементов а1,а2,...,аN+1; ключ поиска K
    // Выходные данные: номер первого найденного элемента
    A[N+1] = K; i = -1;
    while(true)
    { i = i + 2;
    if(A = K) return i;
    if(A[i+1] = K) return i+1;
    }

    Алгоритм 4.10. Поиск в самоорганизующемся массиве
    // Входные данные: массив А из n элементов а0,а2,...,аN; ключ поиска K
    // Выходные данные: номер первого найденного элемента
    A[N] = K; // установка барьера
    i = 0;
    while (A!= K)
    { i = i + 1; }
    if ((1 < i)&(i < N)) // успешный поиск
    { t = A[i};
    A=a[i-1];
    A[i-1] = t;
    return i-1;
    }
    else return i;


    Методические указания
    1. Вариант реализуется в виде отдельного консольного приложения. Транслировать в режиме Release с полностью отключённой оптимизацией.
    2. Все необходимые величины задаются в виде констант: размер контейнера, количество повто-рений цикла, точность вычисления и т.д.
    3. Приостановки программы для просмотра результатов выполняются с помощью вызова функ-ции system(“pause”);
    4. Все сообщения на консоль выводить на русском языке.
    5. Программа должна иметь вид
    // подключаемые файлы-заголовки
    // определения констант
    // определения функций, функторов
    // определения контейнеров
    int main()
    {
    // измеряемый цикл
    system(“pause”);
    //. . . . . . . . . . . . . . . . . . . .
    // измеряемый цикл
    system(“pause”);
    return 0;
    }
    Очень нужно, спасибо.
     
  4. kostyawasd

    kostyawasd New Member

    Joined:
    11 Jan 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    С++ нужна поммощь в написании программ

    Прошу помощи в написании программ
    1.В данном массиве найти самую длинную группу из записанных подряд элементоводного знака.
    2.Дана матрица A(N,M), которая вводится из файла. В каждом столбце найти сумму положительных элементов. Определить, в каком из столбцов получается наибольшая из этих сумм. Вывести все элементы этого столбца. Каждый этап решать при помощи подпрограммы, работающей с вектором. Вектор "вырезать" из матрицы.
    3.Дано предложение, в котором слова разделены запятой или пробелом, а общая длина меньше либо равна 80. Найти и напечатать все слова, которые представляют собой слово-палиндром*.
    4.Вычислитьь интегралл от 1 до 0, xtgxdx по формуле трапеций.


    *-слово одинаково читающееся в обоих направлениях (топот, 404
     
  5. o'clock

    o'clock Elder - Старейшина

    Joined:
    16 May 2009
    Messages:
    125
    Likes Received:
    22
    Reputations:
    11
    Составить программу, находящую в матрице D(n,n) номера строк, в которых
    каждый элемент больше максимального из того же столбца, расположенных до рассматриваемого.
    вывести исходную матрицу, номера найденных строк. Если требуемых строк нет, то выдать соответствующее сообщение.
     
  6. LibertyPaul

    LibertyPaul New Member

    Joined:
    16 Jan 2010
    Messages:
    36
    Likes Received:
    0
    Reputations:
    0
    насколько я понял, первая строка не выведется никогда?

    PHP:
    #include <iostream>
    using namespace std;

    int main(int argcchar **argv){

        
    int N;
        
    cin>>N;
        
    cout<<endl;
        
    int **matrix=new int*[N];
        for(
    int i=0;i<N;++i)matrix[i]=new int[N];

        for(
    int i=0;i<N;++i){
            for(
    int j=0;j<N;++j)
                
    cin>>matrix[i][j];
            
    cout<<endl;
        }
        
        
    int *max=new int[N];
        for(
    int i=0;i<N;++i)
            
    max[i]=matrix[0][i];
        
    int count=0;
        for(
    int i=1;i<N;++i){
            
    bool f=true;
            for(
    int j=0;j<N;++j){
                if(
    matrix[i][j]<=max[j]) f=false;
                else 
    max[j]=matrix[i][j];
            }
            if(
    f){
                
    cout<<i+1<<endl;
                ++
    count;
            }
        }
        if(!
    count)cout<<"Строк, удовлетворяющих условию нет"<<endl;
        
        
    delete[] max;
        for(
    int i=0;i<N;++i)delete[] matrix[i];
        
    delete[] matrix;
        return 
    0;
    }


     
    #4186 LibertyPaul, 15 Jan 2013
    Last edited: 15 Jan 2013
  7. o'clock

    o'clock Elder - Старейшина

    Joined:
    16 May 2009
    Messages:
    125
    Likes Received:
    22
    Reputations:
    11
    Спасибо, уже сам дошел, верно,никогда. самым сложным оказалось понять условие этой задачи :D :D :D
     
  8. Exoe

    Exoe New Member

    Joined:
    18 Jan 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    программа на tasm в режиме masm
    записать слова введенного предложения в обратном порядке. Произвести очистку экрана. Вывести результат в позиции экрана.
     
  9. hero1ne

    hero1ne New Member

    Joined:
    18 Oct 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток,ачатовцы.
    Препод, дал здание перевести последние цифры студенческого в двоичную систему и по полученному числу сделать задание.
    Номера студенческого 11 и 5.
    500WMR
    [​IMG]
     
  10. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    проблема с программой(

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

    //---------------------------------------------------------------------------
    #include <iostream.h>
    #include <condefs.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <vcl.h>
    #include <sstream>
    #include <string>
    #pragma hdrstop

    #include <tchar.h>
    //---------------------------------------------------------------------------

    #pragma argsused
    int _tmain(void)
    {
    cout << "Number:" << endl;
    int a;
    cin >> a;
    String b;
    b = IntToStr(a);

    if(a < 99 && a > 10){
    cout << b[0] << " " << b[1];
    }

    getch();
    return 0;
    }
     
  11. boryisk

    boryisk New Member

    Joined:
    17 Jan 2013
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Code:
    #include <string>
    #include <iostream>
    #include <sstream>
    
    using namespace std;
    
    template <typename T>
    string toString(T val)
    {
    ostringstream oss;
    oss << val;
    return oss.str();
    }
    
    int main(void)
    {
    cout << "Number:" << endl;
    int a;
    cin >> a;
    string b;
    b = toString(a);
    
    if(a < 99 && a > 10)cout << b[0] << " " << b[1];
    
    return 0;
    }
    а вот так правильнее
    Code:
    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
    cout << "Number:" << endl;
    int a;
    cin >> a;
    
    if(a < 99 && a > 10)cout << a/10 << " " << a%10;
    
    return 0;
    }
     
    #4191 boryisk, 23 Jan 2013
    Last edited: 23 Jan 2013
    1 person likes this.
  12. boryisk

    boryisk New Member

    Joined:
    17 Jan 2013
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    написал в ЛС
     
  13. MaxRegN

    MaxRegN New Member

    Joined:
    20 Feb 2013
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Привет ачатовцы. Помогите разобраться с задачкой на дин. массивы. "Составить функцию для определения среднего арифметического значения тех элементов одномерного массива длиной N, модуль значения которых меньше заданной величины. Используя эту функцию, вывести те элементы заданного массива, значение которых больше найденного по процедуре среднего арифметического. При расчете среднего арифметического в процедуре учитывать только те элементы массива, модуль которых меньше 5."
     
  14. MaxRegN

    MaxRegN New Member

    Joined:
    20 Feb 2013
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    ребят помогите(
     
  15. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,224
    Likes Received:
    58
    Reputations:
    1
    Очень нужно сделать следующие

    1. В соответствии с вариантом спроектируйте базу данных любым методом проектирования на основе описания предметной области.
    2. В СУБД InterBase 6.0/Firebird 1.5 реализуйте серверную часть спроектированной ранее базы данных, которая должна содержать:
    таблицы с определением первичного ключа
    триггеры, реализующие каскадное обновление и каскадное удаление связанных полей
    триггеры, присваивающие уникальное значение генератора в поле первичного ключа
    триггеры, обеспечивающие журнализацию изменений определенной таблицы
    не менее трех различных хранимых процедур
    3. В ИСР Delphi создайте клиентское приложение, используя любую технологию доступа к данным (BDE, IBX, ADO и др.) с возможностью поиска и фильтрации данных, а также вывода отчета.

    1. Номер зачетки студента уникален, то есть не может быть двух студентов, у которых одинаковые номера зачеток
    2. Несколько студентов, могут иметь одинаковые имена.
    3. Каждый студент учится только в одной группе
    4. В одной группе учатся несколько студентов.
    5. Название группы уникально.
    6. Каждая группа относится к одной кафедре.
    7. К одной кафедре относится несколько групп.
    8. Название кафедры уникально.
    9. Студент имеет ФИО, год рождения, адрес. Кафедра название и зав. кафедрой.


    Пожалуйста помогите, без вас я не справлюсь
     
  16. Evgeniy

    Evgeniy Member

    Joined:
    25 Feb 2011
    Messages:
    0
    Likes Received:
    8
    Reputations:
    0
    Добрый день
    нужно написать на с++
    Сортировка списков и деревьев
    буду очень благодарен
     
  17. zloyDekan

    zloyDekan Member

    Joined:
    5 May 2010
    Messages:
    72
    Likes Received:
    68
    Reputations:
    48
    пацантрэ, помогите.
    задали тут в VBA сделать.
    В ячейках С1-С3 хранятся произвольные числа. Вывести в ячейку D1 количество положительных элементов, в ячейку D2 - сумму положительных элементов, в ячейку D3 - произведение положительных элементов.
    помогите с кодом, кому не сложно.

    вот что написал я, но это не катит..

    Private Sub proizvchisla_Click()

    Dim A As Integer, B As Integer, C As Integer
    Dim D As Integer, E As String, N As String
    Dim x As Integer, y As Integer, z As Integer
    Dim k As String, l As String, m As String
    A = Range("C1")
    B = Range("C2")
    C = Range("C3")

    If A<0 then
    x=0
    else
    if A>=0 then
    x=1
    else
    If B<0 then
    y=0
    else
    if B>=0 then
    y=1
    else
    If C<0 then
    z=0
    else
    if C>=0 then
    z=1
    end if
    end if
    end if
    end if
    end if
    end if
    D=x+y+z


    if A>=0 then
    A=k
    else
    if B>=0 then
    B=l
    else
    if C>=0 then
    c=m
    end if
    end if
    end if
    E=k+l+m
    F=k*l*m


    Range("D1") = D
    Range("D2") = E
    Range("D3") = N

    End Sub
     
    #4197 zloyDekan, 1 Mar 2013
    Last edited: 1 Mar 2013
  18. Jinana

    Jinana New Member

    Joined:
    28 Feb 2013
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    лабораторная на си

    Написать функцию , вычисляющую с заданной точноcтью eps,
    значение y = x^(1/k) по итерационной формуле
    y[0] = 1; y[n-1]=y[n]+( x/(y[n]^(k-1)) - y[n] )/k ( n = 0,1,2,...)
     
  19. onegog

    onegog New Member

    Joined:
    20 Feb 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Привет ребята

    Помогите на С++ плиз! в Вижуал студии ..желательно!
    Дана целочисленная прямоугольная матрица A, размером nxm. Проверить, все ли строки матрицы содержат хотя бы один нулевой элемент. Если нет, то заменить значения всех отрицательных элементов матрицы на нулевые.
     
    #4199 onegog, 3 Mar 2013
    Last edited: 3 Mar 2013
  20. FlameKiller

    FlameKiller New Member

    Joined:
    11 Aug 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Подпрограмма №1 - формировка элементов первого списка тип float количество 8, включение элементов после второго.
    Подпрограмма №2 - формировка однонаправленного списка с положительных элементов первого списка, включение в начало списка.
    Не могу до конца разобраться с этим заданием и со списками вообще.
    Помогите пожалуйста довести код до нормального вида
    1.h
    Code:
    
    struct Item {
    	int info;
    	Item *next;
    };
    
    inline bool Check (Item * el)
    {
    	if (el ->info > 0)
    		return true;
    	else
    		return false;
    }
    
    
    Code:
    #include <stdio.h>
    #include <iostream>
    #include <windows.h>
    #include <cstring>
    #include "1.h"
    using namespace std;
    
    void main ()
    {
    Item *first = 0;
    Item *p;
    
    for (int i = 0; i <=8;i++) {
    	int a;
    	cin >> a;
    	p = new Item;
    	p->info = a;
    
    	if (first == NULL)
    	{
    	p->next = NULL ;
    	first = p;
    	}
    		else 
    			if (first ->next == NULL)
    			{
    			p->next = first->next;
    			first->next = p;
    			}
    			else 
    	{
    	Item *current = first ->next;
    	p -> next = current -> next;
    	current -> next = p;
    	cout << p->info<<" ";
    	}
    	//cout << endl;
    }
    
    
    Item *new_item = new Item;
    	for (int i = 0; i <=8; i++);
    {
    new_item -> info = p -> info;
    new_item -> next = first;
    first = new_item;
    p = p->next;
    
    }
    system("pause");
    }
    
    
     
Thread Status:
Not open for further replies.