Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 16:43   #11
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
A=getche();
a[i]=(int)A;
Ну да, в a[i] пишется ASCII код символа (код нуля - в ASCII - 48), а вовсе не число, соответствующее введенному символу-цифре. Для такого дела используйте функцию atoi().
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 24.04.2010, 17:10   #12
SacReD_89
 
Регистрация: 24.04.2010
Сообщений: 9
По умолчанию

[CODER] c с твоей прогой - тут просто даже када первое число вводишь.. он не тормазится.. т.е. можно и 500 цифр ввести !!! нажимаешь ентер, вылазиет окно -

Необработанное исключение в "0x777164f4" в "Программа для 6 варианта.exe": 0xC0000005: Access violation.

если ввести короткое число.. например 29783, то выдаст -

Необработанное исключение в "0x00321461" в "Программа для 6 варианта.exe": 0xC0000005: Нарушение прав доступа при записи "0x00325800".



for (j=0; j<50; j++)
{
B=atoi();
b[j]=(int)B;

так чтоль надо??? .. он ругаеться - error C2661: atoi: нет перегруженной функции, принимающей 0 аргументов.

Куда ее втыкивать ???, тока на моем примере пожалуйста.

:-((

Последний раз редактировалось SacReD_89; 24.04.2010 в 17:14.
SacReD_89 вне форума
Старый 24.04.2010, 17:16   #13
k1r1ch
ACM!
Форумчанин
 
Аватар для k1r1ch
 
Регистрация: 19.06.2009
Сообщений: 382
Счастье

Ловите из личных запасов (тут с текстовыми файлами сделано):
Код:
program ACMP_103;
var
  Num1, Num2: array [0..101] of integer;
  Txt: Text;
  i, Max, C: integer;
  Temp: string;
begin
  Assign(Txt, 'Input.txt'); Reset(Txt);
  Readln(Txt, Temp); Num1[0] := Length(Temp); i := 1;
  for i := Num1[0] downto 1 do
    Num1[Num1[0] - i + 1] := Ord(Temp[i]) - 48;
  Readln(Txt, Temp); Num2[0] := Length(Temp); i := 1;
  for i := Num2[0] downto 1 do
    Num2[Num2[0] - i + 1] := Ord(Temp[i]) - 48;
  Close(Txt); C := 0;
  if Num1[0] > Num2[0] then Max := Num1[0] else Max := Num2[0];
  for i := 1 to Max do
    begin
      C := C + Num1[i] + Num2[i];
      Num1[i] := C mod 10;
      C := C div 10;
    end;
  if C > 0 then
    begin
      Max := Max + 1;
      Num1[Max] := C;
    end;
  Num1[0] := Max;
  Assign(Txt, 'Output.txt');
  Rewrite(Txt);
  for i := Num1[0] downto 1 do
    Write(Txt, Num1[i]);
  Close(Txt);
end.
k1r1ch вне форума
Старый 24.04.2010, 17:32   #14
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Может это поможет...
Вложения
Тип файла: rar Project2.rar (11.0 Кб, 11 просмотров)
Skype: CODERua
[CODER] вне форума
Старый 24.04.2010, 17:35   #15
SacReD_89
 
Регистрация: 24.04.2010
Сообщений: 9
По умолчанию

k1r1ch - мне на С++ надо. [CODER] - exe не открываеться... да и к тому-же мне листинг нужен.. я преподу его буду показывать )) мне главное что-б работало.. а та м ему по ушам наездию, мой вариант надо попробовать доработать.
SacReD_89 вне форума
Старый 24.04.2010, 18:33   #16
k1r1ch
ACM!
Форумчанин
 
Аватар для k1r1ch
 
Регистрация: 19.06.2009
Сообщений: 382
По умолчанию

Ну раз на C... Переписывать мне конечно лень, но вот алгоритм, хорошо описан: http://acmp.ru/index.asp?main=solution&id_task=103
k1r1ch вне форума
Старый 24.04.2010, 18:45   #17
SacReD_89
 
Регистрация: 24.04.2010
Сообщений: 9
По умолчанию

да там ваще лажа... возьми за исходник мой вариант... там просто надо ошибки найти ((
SacReD_89 вне форума
Старый 24.04.2010, 19:25   #18
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

SacReD_89 твой код и есть одна большая ошибка.
Ты даже не сумел правильно организовать ввод данных, что уж говорить об алгоритме, там даже логика отсутствует. Если "лажа" и существует то она живет в твоем коде.
Осмелюсь предположить что вводить ты хотел примерно так
Код:
cout << "Input first number: ";
for (i=0; i<50; i--)
{
a[i]=A=getche();
if (a[i]==13) {
	goto m;
}
a[i]=a[i]-48;
// cout <<endl<< a[i]; // проверка, что вводиться в массив
l2++;
}
m:
printf("\n");
cout << "Input second number: ";
for (j=0; j<50; j--)
{
b[j]=B=getche();
 if (b[j]==13) {
	goto n;
}
b[j]=b[j]-48;
//cout <<endl<< b[j];
l1++;
}
n:
printf("\n");
Ошибок нет, ... ммм... короче.
Сначала научись компилировать, потом проси чтоб тебе писали код.

С УВАЖЕНИЕМ [CODER].
Skype: CODERua
[CODER] вне форума
Старый 24.04.2010, 19:42   #19
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

вот пример на Паскале, переделывайте и дерзайте))

Const LongM=50000;
Type LongMas=Array[1..LongM]of Integer;
Type LongN=Record
Last : Integer;
N : LongMas;
End;

Procedure Plus(a,b:LongN;var c:LongN);
Var t,p:Integer;
flag:boolean;
Begin
if a.last>b.last then p:=a.last else p:=b.last;
for t:=1 to p do
c.n[t]:=a.n[t]+b.n[t];
flag:=false;
for t:=1 to p do
if c.n[t]>9999 then
begin
c.n[t+1]:=c.n[t+1]+c.n[t] div 10000;
c.n[t]:=c.n[t] mod 10000;
if t=p then flag:=true;
end;
c.last:=p;
if flag then c.last:=c.last+1;
End;
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума
Старый 25.04.2010, 12:05   #20
SacReD_89
 
Регистрация: 24.04.2010
Сообщений: 9
По умолчанию

Хорошо КОДЕР.... вставил твой вариант.. и сразу.. нафиг тут нужны l1 и l2??? ... я када числа вводил он мне из-за них прерывание выкидывал! я короче их удалил. стало нормально работать. но.. при вводе пятидесяти единиц и пятидесяти двоек.... он выдает 116333333333.... все нормально.. тока откуда там 116 в начале!? и еще.. программа не умеет работать с маленькими числами.. простое сложение 123 и 321 обернулось катастрофой!

Напоминаю.. надо сложить два больших числа от 1 до 50 цифр в каждом.
от 1 цифры.. понимаете. (1+2)
И до ахулеарда что-б высчитывал.

это на С++

Последний раз редактировалось SacReD_89; 25.04.2010 в 12:16.
SacReD_89 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание больших чисел через дэк whatever Помощь студентам 3 04.04.2010 19:49
С# Сложение больших чисел SL1CK Помощь студентам 4 23.11.2009 21:07
Нахождение остатка от деления очень больших чисел Pavel_Ine Общие вопросы C/C++ 6 22.11.2009 20:49
алгоритм сравнения больших чисел со сдвигом WOLFak Паскаль, Turbo Pascal, PascalABC.NET 0 29.12.2008 22:36
Библиотека больших чисел на Delphi Victor1987 Помощь студентам 10 11.04.2008 08:25