//----------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
typedef struct st
{
int info;
struct st *next;
} node;
node *s1 = 0, *s2 = 0, *s3 =0;
node *insert( node *root, int x )
{
if (root==0)
{
root = (node *) malloc (sizeof(node));
root->info = x;
root->next = 0;
} else
root->next = insert ( root-> next, x );
return root;
}
void display( node *p )
{
if ( p != 0 )
{
display ( p->next );
printf("%-3d", p->info);
}
}
node *add( node *s, node *t )
{
int x, c=0 ; node* res=0 ;
while ((s!=0) || (t!=0))
{
if (s == 0) x = t->info + c;
else if (t==0) x = s->info +c ;
else x = s->info+t->info+c ;
if (x > 9){ x-=10; c=1;}
else c=0;
res = insert( res,x );
if(s!=0) s = s->next;
if(t!=0) t = t->next;
}
if (c == 1) res = insert( res, 1 );
return res;
}
int main(int argc, char* argv[])
{
clrscr() ; //Очистка экрана
printf("\n\n");
printf("Pervoe chislo zapisannoe v stek:\n\n ");
s1 = insert (s1,2);
s1 = insert (s1,6);
s1 = insert (s1,4);
display(s1);
printf("\n\nVtoroe chislo zapisannoe v stek:\n\n ");
s2 = insert (s2,6);
s2 = insert (s2,5);
s2 = insert (s2,5);
display(s2);
printf("\n");
printf("\n\nRezult slogenia dvyx chisel v steke:\n\n ");
display( add(s1,s2));
getchar();
}
//----------------------------------------------------------------------
(С++)Помогите разобраться с кодом
Самая главная проблема у меня вот в чём нужно изменить эту прогу написав функцию которая добавляет число в стек из строки символов... [Помогите]
т.е как я понял где то в тексте программы должен осуществляться переход из char в int.
Я думаю что сумма цифр может быть больше 9, то тогда мы определяем дополнительный бит и сложение будем производить с этим битом.
Вместе с подпрограммой добавления элемента к списку и подпрограммой вывода элементов списка, написанных рекурсивно, эта подпрограмма сложения имеет вид:
Код:
Самая главная проблема у меня вот в чём нужно изменить эту прогу написав функцию которая добавляет число в стек из строки символов... [Помогите]:confused:
т.е как я понял где то в тексте программы должен осуществляться переход из char в int.
Возникла загвоздка переделайте программу кто может и знает как !