Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу 1.5 Разработка динамических структур данных и функций их обработки
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
kilimi kilimi вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2011
По умолчанию 1.5 Разработка динамических структур данных и функций их обработки - 11.06.2011, 19:39

Длинное» целое число представляется как однонаправленный линейный список, где каждая цифра – элемент списка.
Функции:
• сформировать «длинное» целое число (функция формирует список из цифр числа)
• вывести список (функция выводит «длинное» целое число)
• сложить два «длинных» целых числа (функция получает на вход два списка и возвращает третий список, каждый элемент которого содержит цифру, равную сумме, соответствующих цифр исходных списков. Фактически, результат функции – сумма двух чисел)
Ответить с цитированием
  (#2 (permalink)) Старый
kilimi kilimi вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2011
По умолчанию 13.06.2011, 12:35

Помогите дописать,кому не влом.
Ответить с цитированием
  (#3 (permalink)) Старый
kilimi kilimi вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2011
По умолчанию 14.06.2011, 13:22

Актуально.
Ответить с цитированием
  (#4 (permalink)) Старый
kilimi kilimi вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2011
По умолчанию 15.06.2011, 14:30

cpp Код:
#include <iostream>
using namespace std;
int main()
{
struct num
{
int number;
int * previos_number;
num()
{
number = 0;
previos_number = NULL;
}


};


return 0;
}
Может нужно рэндомом число сгенирировать? Ну помогите же написать. Мои проблемы,конечно,что я не успела с++ выучить,но ведь мир не без добрых людей.)
Ответить с цитированием
  (#5 (permalink)) Старый
Зирк Зирк вне форума
Member
 
Сообщений: 1,337
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2005
По умолчанию 15.06.2011, 17:38

cpp Код:
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
struct LINE{
       int value;
       LINE* next;
};

   void Show(LINE* line)
    {
        cout<<endl;
         LINE* cur;
         cur=line;
         while(cur)
         {
             cout<<cur->value;
             cur=cur->next;
         }
    }



void Add(char* str, LINE* &start)
{
    if(strlen(str)!=0){
    LINE* cur=new LINE();
    start=cur;
    cur->value=str[0]-'0';
    int count=strlen(str);

    for(int i=1;i<count;i++)
    {
        cur->next=new LINE();
        cur=cur->next;
        cur->value=str[i]-'0';
    }
    cur->next=NULL;
    }

    else
        start=NULL;
}

LINE* Sum(LINE* first, LINE* second)
{
    if(first)
    {
    LINE* result=new LINE();
    LINE* start=new LINE();
    start=result;
    while(first)
    {
       
        result->value=first->value+second->value;
        result->next=new LINE();
        result=result->next;
        first=first->next;
        second=second->next;
    }
    return start;
    }
    return NULL;
}

int main(int argc, char *argv[])
{
    LINE* line_first=NULL;
    LINE* line_second=NULL;
    LINE* third=NULL;
    char first_num[128];
    char second_num[128];
    do
    {    cout<<"Type first looooong int number:";
    cin>>first_num;
    first_num[strlen(first_num)+1]='\0';
    cout<<"\nType second looooong int number(length of this number must == length of first number):";
    cin>>second_num;
    }
while(strlen(first_num)!=strlen(second_num));


    Add(first_num,line_first);
    Add(second_num,line_second);
    Show(line_first);
    Show(line_second);
    third=Sum(line_first,line_second);
    Show(third);
    system("PAUSE");
    return EXIT_SUCCESS;
}
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
kilimi kilimi вне форума
Member
 
Сообщений: 30
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.06.2011
По умолчанию 16.06.2011, 11:21

Спасибо!
И последнее,что я спрошу это тоже самое задание,только должен быть класс.
Длинное» целое число представляется как однонаправленный линейный список, где каждая цифра – элемент списка.
Класс
Данные:
- Указатель на начало списка (список – целое число)
Методы:
- сформировать «длинное» целое число (функция формирует список из цифр числа)
- вывести список (функция выводит «длинное» целое число)
- сложить два «длинных» целых числа (функция получает на вход два списка и возвращает третий список, каждый элемент которого содержит цифру, равную сумме, соответствующих цифр исходных списков. Фактически, результат функции – сумма двух чисел)
Ответить с цитированием
  (#7 (permalink)) Старый
Зирк Зирк вне форума
Member
 
Сообщений: 1,337
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2005
По умолчанию 16.06.2011, 11:38

cpp Код:
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
struct LINE{
       int value;
       LINE* next;
};

class LONGINT{
public:
    LINE* startPoint;


    LONGINT()
    {
    }

    ~LONGINT()
    {
    }

   void Show()
    {
        cout<<endl;
         LINE* cur;
         cur=startPoint;
         while(cur)
         {
             cout<<cur->value;
             cur=cur->next;
         }
    }



void Add(char* str)
{
    if(strlen(str)!=0){
    LINE* cur=new LINE();
    startPoint=cur;
    cur->value=str[0]-'0';
    int count=strlen(str);

    for(int i=1;i<count;i++)
    {
        cur->next=new LINE();
        cur=cur->next;
        cur->value=str[i]-'0';
    }
    cur->next=NULL;
    }

    else
        startPoint=NULL;
}

void Sum(LINE* first, LINE* second)
{
    if(first)
    {
    LINE* result=new LINE();
   
    startPoint=result;
    while(first)
    {
       
        result->value=first->value+second->value;
        result->next=new LINE();
        result=result->next;
        first=first->next;
        second=second->next;
    }
   
    }
   
}
};

int main(int argc, char *argv[])
{
    LONGINT line_first;
    LONGINT line_second;
    LONGINT third;
    char first_num[128];
    char second_num[128];
    do
    {    cout<<"Type first looooong int number:";
    cin>>first_num;
    first_num[strlen(first_num)+1]='\0';
    cout<<"\nType second looooong int number(length of this number must == length of first number):";
    cin>>second_num;
    }
while(strlen(first_num)!=strlen(second_num));


    line_first.Add(first_num);
    line_second.Add(second_num);
    line_first.Show();
    line_second.Show();
    third.Sum(line_first.startPoint,line_second.startPoint);
    third.Show();
    system("PAUSE");
    return EXIT_SUCCESS;
}
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает запись в базе данных через DBNavigator при динамических запросах atele C++ Builder 0 05.06.2011 23:11
Программа для обработки символьных данных Анютка :) Вопросы начинающих программистов 0 23.02.2011 01:43
Процедура обработки данных в Pascal tanuha_smile Вопросы начинающих программистов 0 22.02.2011 16:18
Написание структур в С++ задача на массовую потребность данных neiromagick Вопросы начинающих программистов 0 17.01.2011 01:03
Разработка функции обработки динамического массива Angelito-deseado Вопросы начинающих программистов 0 17.06.2008 21:12
Инициализация структур, массивов структур starant .NET 2 29.01.2008 14:46
Написание класса для обработки каждого типа данных dmitryn Вопросы начинающих программистов 11 28.01.2008 17:51
Пакеты статистической обработки данных Pchelka Вопросы начинающих программистов 3 24.11.2005 13:39
Создание программы с использованием структур обработки матрицы Сосед Вопросы начинающих программистов 0 05.10.2005 02:23
Работа с присваиванием динамических структур grasper С/С++ 3 22.04.2004 03:16
Socket отправка прием структур данных alstudio Visual C++ 3 22.03.2004 16:16
Где можно найти описание функций и структур библиотек Samlib.dll Anonymous WinAPI 1 27.11.2003 18:07



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов