Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за задачи на C/C++ (merged)

Featured Replies

Да се състави програма,която съдържа следните функции:
-Съставяне на два динамично представени стека с целочислени данни, съдържащи се във външен файл.
-Сортиране на елементите в стековете по метода чрез прост избор/селекция.
-Запис на изходните резултати във външен файл.
Главна функция main()-с меню за избор на функции и проверка за състоянието на данните
 
Вярна ли ми е до сега задачата и как да я довърша? Нямам input file и функция, която показва сортираните стекове(display_file)-ако може малко помощ за тия функции
 struct elem { 
   int key; 
   elem *next;
} *stack;

void push(stack& S, int n) {
   stack p=S;
   S=new elem;
   S->key=n;
   S->next=p;
}

int pop(stack& S) {
    int n;
    stack p=S;
    n=S->key;
    S=S->next;
    delete p;
    return n; 
}

void sort(stack& s1) {
     stack s2=NULL;
     ofstream file;
     
     file.open("output.txt",ios::out);
     if(file) {
        while (s1) {
           file<<sort(s1, s2)<<" ";
           if (s2) file<<sort2(s2, s1)<<" ";
        }
        file<<endl;
        file.close();
        cout<<"dannite sa zapisani v output.txt";
     } else {
        cout<<"output.txt ne moje da se otvori";
        while (s1) {
           cout<<sort2(s1, s2)<<" ";
           if (s2) cout<<sort2(s2, s1)<<" ";
        }
     }
     cout<<endl;
}          
}
  • Отговори 941
  • Прегледи 234,5k
  • Създадено
  • Последен отговор

gig93 Не е вярно макар че аз съм го писал това сортиране просто защото нещо не си я преписал

както трябва. Сега ако някой тука ти напише четенето от файла сигурно ще пуснеш темата в трети

форум да ти напишат и проверката хората.

Редактирано от ined (преглед на промените)

До никъде ако някои я има цялата или може да я направи ще съм мн мн мн благодарен :)

 

Шашко - гледам ви на снимката с мацето - много сте готини, ама размърдай си сивите клетчици.

Сега това е някаква задача, решението е само за урока. Утре, като се наложи да правиш реални програми - пак ли във форум ще пишеш и ще питаш??

Шашко - гледам ви на снимката с мацето - много сте готини, ама размърдай си сивите клетчици.

Сега това е някаква задача, решението е само за урока. Утре, като се наложи да правиш реални програми - пак ли във форум ще пишеш и ще питаш??

Сега да се оправя пък за нататъка като му дойде времето ще му мисля просто си нямам идея как да я направя ако можеш да помогнеш ще съм ти страшно благодарен

Полесно щеше да е просто да кажеш че няма да помогнеш и готово  :)

 

Не си прав - най-лесно е да не ти обърнат внимание.

 

моляяяяяя ви имам същата задача а нямам представа как да я направя моля помогнете че вече съм отчаян :( Ако може някой да ми помогне ще му бъда много благодарен. Да се състави програма , обслужваща търговията на магазин.

- Създаване на файл с данни за стоките - име , продажна стойност , покупна стойност;

- Да се извежда списък на всички стоки с въведените данни за тях;

- Списък на тези стоки , чиято разлика между продажната стойност и покупната стойност е по-голяма от 30% от покупната стойност на стоката;

- Стоката с максимална печалба да се изведе;

- Да може да се вмъква данни за нова стока;

- Промяна на продажната стойност по дадено име на стока.

- Да се оформи меню;

Много ви моля , помогнете ми.

 

Ето ти началото - като гледам колко си отчаян - току виж си си направил quick format.

 

Първо - задаваш си масив - stock(name, price_in,price-out) и масив - stock_30(name, price_in,price-out)

С цикъл въвеждаш стойностите едно по едно. Записваш във файл.

Меню с препратки към фунции

1. Отпечатване на всички данни.

2. Прочиташ записите един по един и тези с печалба над 30% ги записваш във втория масив.

3. Намиране артикула с най-голяма печалба.

4. Добавяне на нови артикули.

5. Редакция на съществуващи.

6. Изход.

 

Можеш ли да започнеш ???  :write a letter:

Не си прав - най-лесно е да не ти обърнат внимание.

 

 

Ето ти началото - като гледам колко си отчаян - току виж си си направил quick format.

 

Първо - задаваш си масив - stock(name, price_in,price-out) и масив - stock_30(name, price_in,price-out)

С цикъл въвеждаш стойностите едно по едно. Записваш във файл.

Меню с препратки към фунции

1. Отпечатване на всички данни.

2. Прочиташ записите един по един и тези с печалба над 30% ги записваш във втория масив.

3. Намиране артикула с най-голяма печалба.

4. Добавяне на нови артикули.

5. Редакция на съществуващи.

6. Изход.

 

Можеш ли да започнеш ???  write%20a%20letter.gif

С риск да направя offtopic, но 9 поста по-нагоре бях написал следното:

 

Представете до къде сте направил задачата, и ние ще ви помагаме и насочваме по - нататък. Ако имате проблем с това какво трябва да се прави, може да започнем оттам.

 

Поздрави !

Съответно, отговор по това нямаше, при което реших, че време да пиша цяла курсова работа нямам, а и графика ми е доволно уплътнен.

 

Помощ не сме отказали на никого, но и сме се нагледали на теми от вида "напишете ми домашното". Колегите вече трябва да издигат транспаранти, че това не е "Писачи на домашно ЕООД" и в повече случаи сме ограничени от време - априори, трябва и да се работи. 

 

Нека колегата @6a6k0o0 не се сърди, но ей така на готово да дойдат нещата - не става. И това "сега да го направите, а после ще му мисля ..." сме го виждали достатъчно пъти, за да си направим изводите кога ще е това "после". Все пак това е Ваша задача, Ваш проблем и Вие ще получите съответното възнаградение за това, което сте направил по нея. Ние няма какво да мерим или да доказваме в случая ...

 

Тъй като се проточих доволно с този пост и да не е съвсем капо, ще приема, че все пак можем да започнем още с началото на нещата.

 

За разлика от @jhoro, аз ще препоръчам използването на структури и/или класове за представяне на съответния item. Работата с матрици за нещо, което си плаче за struct/class не мисля, че е удачна. Една структура item (name, sell_price, stock_price) е достатъчно минимална за случая. Въпросните списъци може да се направят с динамичен масив (или свързан списък, ако операциите изтриване/добавяне ще са повече). Записа на информация от клас/структура е засегнат в няколко теми от раздела по - рано и може да проверите там как точно се прави. А ако имате проблем, може да попитате в отделна тема или тук.

 

Поздрави и с уважение !

Редактирано от soundtracker (преглед на промените)

Здравейте!

 

Мъча една задача на C++,която трябва да бъде направена на Dev и само с използването на 'graphics.h'.Засега съм направил това:

http://dox.bg/files/dw?a=1aca92b25b.Направил съм трансформацията,но сега трябва да направя и мащабиране(Scaling) на автобуса,но тъй като автобуса не е едно цяло,а е съвкупност от няколко line,rectangle,circle фунцкии предполагам,че ще се прави мащабиране на всеки един елемент нарисуван със споменатите функции.

 

Може ли някой да помогне като даде някаква формула за мащабиране.Аз пробвах формулите : Xpr = (x - хf(нз какво е това))*Sx + xf и  Ypr = (y-yf)*Sy + yf.Всъщност не разбирам как работят и може би затова не се получава.

 

Правя трансформацията в един цикъл,а мащабирането трябва ли да е в същия или извън него.

 

 

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

Къде фръкна тоз бус ве бате? Той по шосето трябва да върви, а и как очакваш някой да ти помогне като никъде не видях самата програма.

Забравил съм да сложа кода.Обекта не е от значение.Важно е да има диагонално преместване и мащабиране.

 

 initwindow(800,640);
  //  initwindow(639,479);
    int maxX = getmaxx();
    
    for(int i = 0,color=10;i +5<maxX ; i++ , color++)
    {
    
        //Road
        
        setcolor(DARKGRAY);
        line(3 , 580 , 800 , 580);
        //Sign
        setcolor(WHITE);
        rectangle(650, 500 , 668 , 580 );
        rectangle(600,470,710,500);
        outtextxy(610, 480, "  BUS STOP");
        
        
        
        //Bus
        
        setcolor(YELLOW);
        rectangle(10+i,515-i,100+i,565-i);
       
        circle(25+i,570-i,10);
        circle(85+i,570-i,10);
        line(100+i,515-i,120+i,495-i);
        line(100+i,565-i,120+i,545-i);
        line(120+i,495-i,120+i,545-i);
        line(10+i,515-i,33+i,495-i);
        line(33+i,495-i,120+i,495-i);
        
        //prozorci
        
        rectangle(20+i,530-i , 40+i ,540-i);
        rectangle(50+i,530-i , 70+i ,540-i);
        line(80+i,515-i,80+i,565-i);
        line(90+i,515-i,90+i,565-i);
        line(100+i,540-i,120+i,519-i);
       
       
        
        
        
            //
            if(i == 0)
            {    setcolor(WHITE);
                 outtextxy(200,600,"Natisni buton za startirane.");
                 getch();
            }
            
        delay(15);
        if(i < maxX) {cleardevice();}
        
        
       }
    
    getch();
    
system("PAUSE");
    return EXIT_SUCCESS;

Редактирано от nigj18 (преглед на промените)

за по-просто може да ползваш един мащабиращ коефициент за X и за Y иначе ако са различни ще трябва да ползваш елипси вместо окръжности, нещо от рода на  :  мащаба s/ms се изменя от 1.5 до 0.5

//Bus
        s=750-i;   ms=500;
        xf=i;  yf=500-i;   
        setcolor(YELLOW);
        rectangle(10*s/ms+xf,15*s/ms+yf,100*s/ms+xf,65*s/ms+yf);
        circle(25*s/ms+xf,70*s/ms+yf,10*s/ms);
        circle(85*s/ms+xf,70*s/ms+yf,10*s/ms);
        line(100*s/ms+xf,15*s/ms+yf,120*s/ms+xf,-5*s/ms+yf);

или ако ти се вижда сложно може да ползваш макроси

#define  MC   s/ms
#define  MX   s/ms+xf
#define  MY   s/ms+yf

//Bus
        s=750-i;   ms=500;
        xf=i;  yf=500-i;   
        setcolor(YELLOW);
        rectangle(10*MX,15*MY,100*MX,65*MY);
        circle(25*MX,70*MY,10*MC);
        circle(85*MX,70*MY,10*MC);
        line(100*MX,15*MY,120*MX,-5*MY);

Редактирано от ined (преглед на промените)

моляяяяяя ви имам същата задача а нямам представа как да я направя моля помогнете че вече съм отчаян :( Ако може някой да ми помогне ще му бъда много благодарен. Да се състави програма , обслужваща търговията на магазин. -Създаване на файл с данни за стоките - име , продажна стойност , покупна стойност; -Да се извежда списък на всички стоки с въведените данни за тях;Списък на тези стоки , чиято разлика между продажната стойност и покупната стойност е по-голяма от 30% от покупната стойност на стоката;Стоката с максимална печалба да се изведе; -Да може да се вмъква данни за нова стока; -Промяна на продажната стойност по дадено име на стока. -Да се оформи меню; Много ви моля , помогнете ми.

ами покажете поне един счупен код де

може ли малко помощ относно една задача ? :)

Бихте ли ми помогнали за следната задача:Съставете програма, която намира броя на въведените цели числа.
Въвеждането се прекратява, когато се въведе числото -1. 
Направих я по следния начин:
 
#include "stdafx.h"
using namespace std;
#include<iostream>
#include<stdlib.h>
#include<conio.h>
void main(){
int num = 0;
int input = 0;
cout << "Input a positive number or 'x' to stop\n";
while (cin >> input) {
if (input > 0) {
num++;
}
cout << "Input another positive number or 'x' to stop\n";
}
cout << "nums are " << num << endl;
system("pause");
}
 

Направих го да спира да въвежда след бутона 'x',но не знам как да спре да въвежда след  -1 или някое друго определено число.

#include <stdio.h>

int main ()
{
    int count = 0;
    int input;
    printf("\n\ninput integer numbers, -1 to stop\n\n");
    while(1)
    {
        scanf("%d",&input);
	if (input != -1) count++;
        else break;
        printf ("\n\nup to now you have entered %d integer numbers\n\n",count);
    }
    printf ("\n\nyou entered total %d integer numbers before the -1\n\n",count);
    return 0;
}	

chern защо трява да въвеждаш Х като гледам цикъла ще спре каквото и да

напишеш различно от число, а трябва да спира не по този начи а с -1.

И а в условието не пише да брои само положителните числа.

Може, дай да видим какво си написал досега и ще помагаме колкото можем.

Програмистът Гошо Тарикатски съхранява сорсовете на
своите програми в специален сейф. За да го обезопаси срещу
крадци решил да създаде сложно система за отключване. Тя се
задействала от два различни пулта, от които се въвеждали две
трицифрени числа. След като се въведат числата, се стартира
програма, която генерира кода за сейфа по следния начин:
Събира първата цифра на първото число с последната
цифра на второто число. Ако резултатът е двуцифрено число,
цифрите му се събират. Получената цифра се записва като първа
за кода.
Втората цифра се получава, като по същият начин се
обработят вторите цифри на двете числа.
След сумирането на последната цифра на първото число и
първата цифра на второто по посочената схема, се получава
третата цифра на кода.
Гошо е много добър програмист, но е затрупан от поръчки,
затова възлага на вас написването на програмата за получаване на
кода.
Програмата се нарича KASA и получава от клавиатурата
две трицифрени числа, след което извежда на екрана получения по
горната схема код, който също е трицифрено число.
Пример:
Вход:
492 851
Изход:
551
 
това e от  един PDF с задачи :)
а това ми е сорс кода :

 

#include <stdio.h>

#include <stdlib.h>
int main()
{
int n,n1,a,b,c,a1,b1,c1,sum1,sum2,sum3;
 
printf("Enter NUM1 :"); scanf("%d",&n);
printf("Enter NUM2 :"); scanf("%d",&n1);
a=n%10;
b=n/10%10;
c=n/100%10;
 
a1=n1%10;
b1=n1/10%10;
c1=n1/100%10;
 
sum1=c+a1;
sum2=b+b1;
sum3=a+c1;
 
 
printf("\n\n** \t %d \t %d \t %d \t **",a,b,c);
printf("\n\n** \t %d \t %d \t %d \t**\n",a1,b1,c1);
printf("\n\n ** %d ** %d ** %d **\n\n",sum1,sum2,sum3);
    
printf("\n\n");
system("PAUSE");
}

 

проблема е че незнам как например сбора на цифрите когато е над 9 да събера единичните цифри и  десетичните цифри

Редактирано от Dark Vader (преглед на промените)

две едноцифрени числа дават сбор от 0 до 18,

така че ако е по-голям от 9 е само с 1 десетица.

 

if (sum1>9) sum1-=9;       // 10-1 e 9

if (sum2>9) sum2-=9; 

if (sum3>9) sum3-=9; 

Редактирано от ined (преглед на промените)

две едноцифрени числа дават сбор от 0 до 18,

така че ако е по-голям от 9 е само с 1 десетица.

 

if (sum1>9) sum1-=9;       // 10-1 e 9

if (sum2>9) sum2-=9; 

if (sum3>9) sum3-=9; 

Благодария! :) 

  • 2 седмици по-късно...

Моля Ви да ми помогнете за следната задача по ПИК >Да се въведе едномерен масив с не повече от 100 и не по-малко от 10 елемента. Всеки елемент да се умножи по индекса си. Новополучения масив да се изведе на екрана. Да се намери сумата но елементите на масива< Много ще съм благодарен някой ако ми я напише защото си нямам на представа как трябва да стане стигам до тук и това е. Най-късно до 16-ти тази седмица. Извинявам се за поставения срок!

 

#include <iostream>

using namespace std;

int arr [15];

int i;

for (i=0; i<15; i++)

{

cin>>arr ;

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.