Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
#1

C/C++ Использование функций, использование break - C++

22.06.2012, 22:59. Просмотров 1150. Ответов 11
Метки нет (Все метки)

Здравствуйте. Не знал как назвать тему, боялся что, если назову "КАК ЭТО РАБОТАЕТ?" то её удалят.
Пишу программу для вычисления длинных целых чисел. Целые числа из строк считал в массивы в обратном порядке (т.е. число 123 массив a[0]=3 a[1]=2 a[2]=1)
У меня есть функция, в которую я передаю 2 массива по ссылкам и их размерность + массив куда записать результат. Но это всё мало относится к проблеме... в общем, вот код:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void sum(int *a, int size1, int *b, int size2, int *c, int &size3){
 
 
int i=0;
int temp=0;
if (size1>=size2){
do{
  while(i<size2){
  temp=temp+a[i]+b[i];
  c[i]=temp%10;
  temp=temp/10;
  i++;
  }
if (size1=size2) break; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!
temp=temp+a[i];
c[i]=temp%10;
temp=temp/10;
i++;
}
while ((temp!=0) || (i<size1));
}
else
{
}
 
size3=i;
cout<<size1<<endl;
 
cout<<size2<<endl;
for(int i=0; i<size3; i++){
 cout<<c[size3-1-i];
}
 cout<<endl;
}
Если закомментировать условие рядом с которым комментарий с восклицательными знаками, то size1 и size2 после выхода из циклов будут правильными, как я их ввёл. Но если не комментировать, то size1 всегда равно size2. Хотя это должно быть не так. Почему это происходит? Что я делаю не так?
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2012, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C/C++ Использование функций, использование break (C++):

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя. - C++
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между функциями с помощью глобального...

Использование break - C++
using namespace std; void print_out(int n); int main(){ int n; cout&lt;&lt;&quot;введите число n:\n&quot;; cin&gt;&gt;n; if(n==0){...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Заменить break на использование булевой переменной - C++
Здравствуйте. Собственно нужно представить кусок данной программы С++ через булеву переменную ( заменить break ). Задание таково: Для...

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Использование функций - C++
кто может напишите пожалуйста код

11
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.06.2012, 23:06 #2
Не удалят, имхо.
if принимает в себя true\false. Вы же в условии присваиваете. Может необходимо сделать:
C++
1
if (size1 == size2) break;
?
1
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
22.06.2012, 23:29  [ТС] #3
Сонный идиот!
Спасибо!
Такая частая ошибка и... ой... позор ))
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
22.06.2012, 23:36 #4
Цитата Сообщение от Alendorff Посмотреть сообщение
Такая частая ошибка и... ой... позор ))
Нужно уметь читать предупреждения компилятора, и тогда подобных проблем не будет
0
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
22.06.2012, 23:38  [ТС] #5
Использую g++ сейчас. О каких предупреждениях идёт речь? )
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
22.06.2012, 23:46 #6
Цитата Сообщение от Alendorff Посмотреть сообщение
Использую g++ сейчас. О каких предупреждениях идёт речь? )
Думал, что у тебя IDE. Тогда приучи себя при компиляции подавать дополнительную опцию -Wall
1
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.06.2012, 23:48 #7
Отличная рекомендация, однако с точки зрения таких ошибок IDE намного предпочтительнее, да и зачем набивать себе шишки, когда можно делать то же самое, но с гораздо бОльшим комфортом?
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
22.06.2012, 23:51 #8
Цитата Сообщение от zulkis Посмотреть сообщение
однако с точки зрения таких ошибок IDE намного предпочтительнее
Чем предпочтительнее? В IDE просто по умолчанию выставлен широкий набор опций предупреждения. При работе с компилятором напрямую можно подавать всё то же самое
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
22.06.2012, 23:53 #9
Тем, что такие предупреждения(ошибки) Вам подсветят, объяснят, и еще предложат поправить. И все это WYSIWYG.
И проблемы "сонный - несонный" не будет.
0
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
22.06.2012, 23:56  [ТС] #10
Проверил -Wall Хорошая вещь.
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
23.06.2012, 00:09 #11
Цитата Сообщение от zulkis Посмотреть сообщение
Тем, что такие предупреждения(ошибки) Вам подсветят, объяснят, и еще предложат поправить. И все это WYSIWYG.
И проблемы "сонный - несонный" не будет.
Ну насчёт подсветят - это и без IDE подсветят, а насчёт предложат исправить - пока такого ни разу не видел. Да и главное в том, что уведомить о предупреждении, а не в том, обычным текстом это сказать или с фанфарами и салютом
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.06.2012, 00:19 #12
Я работаю в последнее время используя XCode, и хотя он полон багов, функция распознавания что в if подсунули не то, и, как вариант, это нужно исправить - там есть.
Абсолютно согласен, что важен конечный результат, но насчет данного конкретного случая - уже вопрос о "вкусовых качествах фломастера".
0
23.06.2012, 00:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2012, 00:19
Привет! Вот еще темы с ответами:

Использование функций - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; void drill(); int count; // count and num_right are global int...

Использование функций - C++
Здравствуйте. Помогите решить нижеследующую задачу. В данный момент нужно переделать данную задачу с использованием функций. Целый день...

Использование функций - C++
Здравствуйте! Помогите начинающему, который изучает тему &quot;функции&quot;. Надо инициализировать массив и вывести его в консольное окно. Но в этом...

Использование функций - C++
Хочу сделать так, чтобы функция maxnd вычисляла максимальное значение элементов квадратной матрицы, расположенных ниже главной диагонали ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru