download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Задача за малка програмка

Автор
Съобщение
emonews
Сря, 07.03.12, 21:08
Хай , имам една задачка от най ниското възможно ниво по програмиране ако някой може да ми я напише, тя не е повече от 10-тина реда!!
1 кюфте на първа маса, 2 на втора, 3 на трета и така.. до последната
Потребителя въвежда колко са масите, програмата решава колко са кюфтетата

Е..? занимава ли му се на някой?
Забравих да напиша че е на C++ .
Трябва да добавя, че всъщност става въпрос дори за неистинска програма а за черния прозорец на Уиндоус и ме интересува по скоро не самата програмка ами как се смята това действие математически
редактиран от emonews на 07.03.12 21:09
редактиран от emonews на 07.03.12 21:37
stoqncho
Сря, 07.03.12, 22:27
” Хай , имам една задачка от най ниското възможно ниво по програмиране ако някой може да ми я напише, тя не е повече от 10-тина реда!!
1 кюфте на първа маса, 2 на втора, 3 на трета и така.. до последната
Потребителя въвежда колко са масите, програмата решава колко са кюфтетата

Е..? занимава ли му се на някой?
Забравих да напиша че е на C++ .
Трябва да добавя, че всъщност става въпрос дори за неистинска програма а за черния прозорец на Уиндоус и ме интересува по скоро не самата програмка ами как се смята това действие математически

Решава се с аритметична прогресия.

В момента те интересува тази формула:
(индекси не мога да слагам, но ти ще се ориентираш )

A1 - Това е първия член от редицата, тоест 1(в случая, защото започваме от 1) кюфте.
An - Това е последния член от редицата, тоест An кюфтета
n - Това е индекса, число, броя на членовете, тоест n кюфтета
Sn - Сумата на всички членове, сбора на нашите кюфте, това което търсиш

Пример:
Имаме 5 маси, като на първата се слага 1 кюфте и на всяка следващата се слага +1 от предишната(както ти казваш).
A1 = 1 кюфте(първия член е 1)
An = 5 кюфтета(последния член от редицата)
N = 5 маси(колко члена имаме, тоест маси)

Решение:
Sn = (1 + 5) / 2 * 5
Sn = 6 / 2 * 5
Sn = 3 * 5
Sn = 15

1+2+3+4+5 = 15

Намирането на най-големия член става по тази формула:

d - Разликата между два съседни члена
Примерно между първия и втория член в нашия случай е 1, защото на маса 1 имаме 1 кюфте, а на маса 2 имаме 2 кюфтета.

Пробвай с уроци от нета, защото може и да съм те объркал още повече.

Задача:
Какъв е сбора на всички числа от 1 до 2012?

Сега остава да го приложиш в C++.

редактиран от stoqncho на 07.03.12 22:29
emonews
Чет, 08.03.12, 17:34
Благодаря ти за помощта, много добре си го обяснил
Всъщност това е домашно на малкия
редактиран от emonews на 08.03.12 23:37
joniewalker
Чет, 08.03.12, 19:51

RE: Задача за малка програмка

Задача:
Какъв е сбора на всички числа от 1 до 2012?

link

редактиран от joniewalker на 08.03.12 19:52
редактиран от joniewalker на 08.03.12 19:52
kookki
Пет, 09.03.12, 09:07
Трябва ти един цикъл for( int i=1; i<=counttable; i++){ countcufteta+=i; }
Някъде преди цикъла декларираш countcufteta и я нулираш, също така и да създадеш вход за броя на масите.
anonymous
Пет, 09.03.12, 15:43
 
#include<iostream>
using namespace std;
int main(){
int masi,kiufteta(0);
cin>>masi;
for(int i=0;i<=masi;i++)kiufteta+=i;
//system("pause"); ako si s DEV C++
cout<<kiufteta<<endl;
return 0;
}

emonews
Пет, 09.03.12, 18:34

RE: Задача за малка програмка

#include<iostream>
using namespace std;
int main(){
int masi,kiufteta(0);
cin>>masi;
for(int i=0;i<=masi;i++)kiufteta+=i;
//system("pause"); ako si s DEV C++
cout<<kiufteta<<endl;
return 0;
}

Всъщност още не са учили подобен код, нашето решение е по различно, по формулата на Стоянчо го измъдрихме
#include<iostream>
using namespace std;
int main(){
long long n;
long long n2;
long long kiufteta;
n=1;
cin>>n2;
kiufteta=n2*(n2+n)/2;
cout<<kiufteta;
return 0;
}

kookki
Пет, 09.03.12, 23:38

RE: Задача за малка програмка

#include<iostream>
using namespace std;
int main(){
int masi,kiufteta(0);
cin>>masi;
for(int i=0;i<=masi;i++)kiufteta+=i;
//system("pause"); ako si s DEV C++
cout<<kiufteta<<endl;
return 0;
}

Нещо си се объркал в кода .
Не разбирам за какво е декларирането на кюфтетата като функция и празният оборот на цикъла при първото му завъртане, където събираш 0+0, ако изобщо кюфтетата имат нулева стойност на този етап от цикъла.

Емо, няма смисъл да декларираш променлива, която при теб играе ролята на константа, като long.
Също така невярвям да съществува заведение с такъв капацитет, че броя на масите му да се записват в long. И за по-добра четимост, те съветвам да даваш смислени имена на променливите. Ще допускаш по-малко грешки.

emonews
Съб, 10.03.12, 00:58
Koki, кода на агент3в1 е перфектен (не че разбирам от код) но е неизползваем в моя (на сина ми ,който е пети клас ) случай, тъй като задачата беше да се направи програмака въз основа на наученото досега а именно long или както му казваш там. Той (сина ми) прави първи стъпки в програмирането и още си няма на представа какво е това аритметична прогресия то и аз не знаех ,но с малко помощ направихме програмчето, чиято единствена функция е да отпечата колко са кюфтетата ако на първата маса има едно а на всяка следваща с едно повече
stoqncho
Съб, 10.03.12, 01:35
Не трябва да се ползва нещо, което не са учили, тоест аритметична прогресия.

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.