Форум программистов, компьютерный форум CyberForum.ru

массив - C++

Восстановить пароль Регистрация
 
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:14     массив #1
как сложить большое количество переменных в С++, а именно y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17;
помогите пожалуйста.
P.S. y1+y2+...+y17 не предлагать!
пришлите часть кода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2011, 09:14     массив
Посмотрите здесь:

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
Можно ли в классе создавать массив переменной длинны. Например динамический массив? C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. C++
C++ Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2)
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
marty0701
42 / 9 / 3
Регистрация: 20.04.2009
Сообщений: 32
05.06.2011, 09:17     массив #2
Цитата Сообщение от foontepok Посмотреть сообщение
P.S. y1+y2+...+y17 не предлагать!
Почему?
Может задачу выложите, а там посмотрим?
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:19  [ТС]     массив #3
пишу на bcb 6.0 программу бюджетный калькулятор. мне нужно как можно короче сложить эти переменные.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 09:19     массив #4
Если они объявлены как отдельные переменные, то никак...
Но можно объявить их массивом структур
C++
1
2
3
4
5
6
7
8
9
10
11
struct point{
    int x,y;
};
int main(){
    point v[10];
    //заполнение
    int sum=0;
    for (int i=0; i < 10; i++)
        sum+=v[i].x+v[i].y; //прибавляем к сумме x(i) и y(i)
    return 0;
}
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
05.06.2011, 09:20     массив #5
Цитата Сообщение от foontepok Посмотреть сообщение
как сложить большое количество переменных в С++
Хм... сами же в названии темы написали ответ)) Используйте для хранения массив, а складывайте в цикле
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:22  [ТС]     массив #6
float p1,p2,p3,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18;
float y19,y20,y21,y22,y23,y24,y25,y26,s;
p1=StrToFloat(Edit1->Text);
p2=StrToFloat(Edit2->Text);
p3=StrToFloat(Edit3->Text);
y1=StrToFloat(Edit4->Text);
y2=StrToFloat(Edit5->Text);
y3=StrToFloat(Edit6->Text);
y4=StrToFloat(Edit7->Text);
y5=StrToFloat(Edit8->Text);
y6=StrToFloat(Edit9->Text);
y7=StrToFloat(Edit10->Text);
y8=StrToFloat(Edit11->Text);
y9=StrToFloat(Edit12->Text);
y10=StrToFloat(Edit13->Text);
y11=StrToFloat(Edit14->Text);
y12=StrToFloat(Edit15->Text);
y13=StrToFloat(Edit16->Text);
y14=StrToFloat(Edit17->Text);
y15=StrToFloat(Edit18->Text);
y16=StrToFloat(Edit19->Text);
y17=StrToFloat(Edit20->Text);
сможете вот здесь дописать?
if(s>0)
Memo1->Lines->Add("Доход="+FloatToStrF(s,ffFixed,10,0));
else
Memo1->Lines->Add("Убыток="+FloatToStrF(s,ffFixed,10,0));
}
marty0701
42 / 9 / 3
Регистрация: 20.04.2009
Сообщений: 32
05.06.2011, 09:23     массив #7
нде...... массив, слышали о таком?
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:24  [ТС]     массив #8
слышали
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 09:24     массив #9
Цитата Сообщение от foontepok Посмотреть сообщение
float p1,p2,p3,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18;
float y19,y20,y21,y22,y23,y24,y25,y26,s;
p1=StrToFloat(Edit1->Text);
p2=StrToFloat(Edit2->Text);
p3=StrToFloat(Edit3->Text);
y1=StrToFloat(Edit4->Text);
y2=StrToFloat(Edit5->Text);
y3=StrToFloat(Edit6->Text);
y4=StrToFloat(Edit7->Text);
y5=StrToFloat(Edit8->Text);
y6=StrToFloat(Edit9->Text);
y7=StrToFloat(Edit10->Text);
y8=StrToFloat(Edit11->Text);
y9=StrToFloat(Edit12->Text);
y10=StrToFloat(Edit13->Text);
y11=StrToFloat(Edit14->Text);
y12=StrToFloat(Edit15->Text);
y13=StrToFloat(Edit16->Text);
y14=StrToFloat(Edit17->Text);
y15=StrToFloat(Edit18->Text);
y16=StrToFloat(Edit19->Text);
y17=StrToFloat(Edit20->Text);
сможете вот здесь дописать?
if(s>0)
Memo1->Lines->Add("Доход="+FloatToStrF(s,ffFixed,10,0));
else
Memo1->Lines->Add("Убыток="+FloatToStrF(s,ffFixed,10,0));
}
20 едитов? о_О
Мне кажется, что вы выбрали малость неоптимальное решение..
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:27  [ТС]     массив #10
diagon
что посоветуете?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 09:30     массив #11
Я представить не могу, зачем нужно столько едитов, и что в них хранится, но если ваша программа-действительно калькулятор, то лучше сделать калькулятор выражений. Т.е. пользователь вбивает строку вроде "2*5-2/4", вы ее парсите и вычисляете значение выражения. Яркий пример такого калькулятора есть в книге Страуструпа.
marty0701
42 / 9 / 3
Регистрация: 20.04.2009
Сообщений: 32
05.06.2011, 09:32     массив #12
Ничего, все у него нормально, сказано же - бюджетный калькулятор пишется.
float y[26];
int i;
float sum;

y[0]=StrToFloat(Edit4->Text);
....
....
for(i=0; i< 26; i++)
{
sum+=y[i];
}
вроде взлетит.

Добавлено через 33 секунды
Цитата Сообщение от diagon Посмотреть сообщение
Я представить не могу, зачем нужно столько едитов, и что в них хранится, но если ваша программа-действительно калькулятор, то лучше сделать калькулятор выражений. Т.е. пользователь вбивает строку вроде "2*5-2/4", вы ее парсите и вычисляете значение выражения. Яркий пример такого калькулятора есть в книге Страуструпа.
http://www.ricardo.com.ua/calculator/budget
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 09:35     массив #13
А, тогда извиняюсь, я думал слово бюджетный употреблено в несколько другом значении=)
Но тогда назовите переменные нормально, не x1, а addres и тд. Запутаетесь же.
Либо сделайте из них массив
foontepok
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 11
05.06.2011, 09:48  [ТС]     массив #14
marty0701
спасибо большое, помогло)
тему, можете закрывать

Добавлено через 10 минут
а еще вопрос.
Как создать новое окно при нажатии в меню "о программе" и "помощь"???
просто в тупой шараге нихера не объясняют, вот и приходиться самому учить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 11:01     массив
Еще ссылки по теме:

C++ Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив C++
C++ Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.

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

Или воспользуйтесь поиском по форуму:
marty0701
42 / 9 / 3
Регистрация: 20.04.2009
Сообщений: 32
07.06.2011, 11:01     массив #15
Цитата Сообщение от foontepok Посмотреть сообщение
Как создать новое окно при нажатии в меню "о программе" и "помощь"???
File->new->other, ищешь aboutbox, сохраняешь этот самый бокс, в папку с проектом, в проекте подключаешь #include "aboutbox.h", обработка нажатия кнопки aboutbox(это имя)->Show();, закрыть окно Close(); или создай просто новую форму, сохрани, подключи и используй на здоровье.
Yandex
Объявления
07.06.2011, 11:01     массив
Ответ Создать тему
Опции темы

Текущее время: 15:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru