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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

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

Featured Replies

Я пак да ви досаждам Публикувано изображение

Искам да направя програма, която да намира корена на даден израз ( Например, че 2ри корен от 4 е 2 или пък, че 3ти корен от 27 е 3 и т.н.)

Написах програмата както предполагам трябва да стане, но ми дава няколко грешки и след жалките си опити да ги отстраня реших да попитам по-опитните :headphones:

#include <iostream.h>
#include <math.h>
#include <conio.h>
int main()
{
int a,b,i,n,p;
cout << "Vuvedete podkorennata velichina" << endl;
cin >> a >> endl;
cout << "Vuvedete korenniq pokazatel" << endl;
cin >> b >> endl;
n=1;
i=(n*n);
p=(i*b);
do
{
n=n+1;
}
while p<>a
if p=a
 {
  cout << "Stepentta e " << p << endl;
 }
 return(0);
}
  • Отговори 941
  • Прегледи 234,6k
  • Създадено
  • Последен отговор

Значи от пръв поглед:

1) с endl се слага край на реда, на cin няма как да сложив край на реда :angry:

2) на тоя if() кво прайш? С едно = се присвоява с две == се сравнява.

И не използваш нито една функция от хедъра math и conio.

Много ти е объркан кода...

#include <iostream.h>
#include <math.h>
void main() {
   cout<<"podkorennata velichina: ";
   double a,x;
   cin>>a;
   x=sqrt(a);
   cout<<"kvadraten koren ot "<<a<<" e "<<x;
}

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

Ми попринцип само бях затворил cin със ; но, започнаха грешките и реших, че трябва да е с endl (което знам какво прави но, не се замислих ,че там не му е мястото) а за if забравих, че == е равно Публикувано изображение А conio незнам защо го добавих ... Въобще манджа с грозде съм направил. А това ,което си направил ти върши работа за 2ри корен но, за 3ти корен и нагоре не. Много ти благодаря че ми показа грешките ми вместо само да изпратиш кода :wors:.

EDIT: След известни мъки успях да изчистя програмата до това състояние:

#include <iostream.h>
#define REPEAT do{
#define UNTIL( condition ) }while(!(condition));
int main()
{
int a,b,n,p;

cout << "Vuvedete podkorennata velichina" << endl;

cin >> a;

cout << "Vuvedete korenniq pokazatel *Ako e 2 napishete 1*" << endl;

cin >> b;

n=0;

REPEAT
  n++;
  p=(n*n)*b;
UNTIL(p==a)
cout << "Korenut e " << n << endl;
}
По този начин работи но, при по-голями стоиностти забива. Някакво предложение за оптимизация ?

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

Нали знаете, че conio.h е собственическа измишльотина, която не фигурира в ANSI C(++), а и в крайна сметка кому са нужни нещата, които осигурява?

За вас тези задачи може да са лесни, но за мен не са. Моля да ми кажете как се решават (ако може да е по-елементарно решението).

Ето и задачите...

(понеже не знам как да го кача съм го качил на този сайт)

Ще съм ви много благодарен ако ми помогнете.

@cecy1997 - Кажи ми, от къде са тези задачи? Трябва да ги решиш математически след това с елементарни знания по програмиране ще можеш да ги напишеш.

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

За вас тези задачи може да са лесни, но за мен не са. Моля да ми кажете как се решават (ако може да е по-елементарно решението).

Ето и задачите...

(понеже не знам как да го кача съм го качил на този сайт)

Ще съм ви много благодарен ако ми помогнете.

Написах ти 2рата задача.

#include <iostream.h>
void main() {
	int a,b,c,d,e,f,g,x,h;
	cout<<"Bonboni na pyrvoto dete: "; cin>>a;
	cout<<"na vtoroto dete: "; cin>>b;
	cout<<"na tretoto dete: "; cin>>c;
	cout<<"na chetvyrtoto dete: "; cin>>d;
	cout<<"na petoto dete: "; cin>>e;
	cout<<"na shestoto dete: "; cin>>f;
	cout<<"na sedmoto dete: "; cin>>g;
	x=a+b+c+d+e+f+g;
	if(x<70) {
			 h=70-x;
			 cout<<h;
	}
}
Можеш да сложиш и още една проверка дали сборът на бонбоните е повече от 70 и да приключи програмата или ако сборът е точно 70 да искара съобщение..

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

благодаря за решението, но за мен е малко неразбираемо. Реших 2 и 3 задача но не мога да реша 1ва. ето и решенията на 2 и 3. 2 зад

#include<iostream>
using namespace std;
int main ()
{
    long a,s,m;
    s=0;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>m; m=70-s;
    cout<<m<<endl;
    
    
      
system ("pause");
return 0;
}    

3 зад

#include<iostream>
using namespace std;
int main ()
{
    long a,b,s,m;
    s=0;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>m; m=s/2;
    cout<<m<<endl;    
system ("pause");
return 0;
}    

Моля да ми кажете ако има някаква грешка (ако е възможно).

За вас тези задачи може да са лесни, но за мен не са. Моля да ми кажете как се решават (ако може да е по-елементарно решението).

Ето и задачите...

(понеже не знам как да го кача съм го качил на този сайт)

Ще съм ви много благодарен ако ми помогнете.

Бе аз както и да го смятам на първа задача отговора е 470.. Публикувано изображение

1. 1 2 s=2;

2. 4 6 s=24;

3. 7 10 s=70;

4. 10 14 s=140;

5. 13 18 s=234;

сумата им е 470...

иначе ето го кода..на 2 реда е Публикувано изображение

#include <iostream>
using namespace std;

void main()
{
	int i,a,b,n,m,s=0;
	cin >> a >> b >> m >> n;
	for(i=0;i<5;i++)
		s+=(a+(i*m))*(b+(i*n));
	cout << s << endl;
}

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

благодаря за решението, но за мен е малко неразбираемо. Реших 2 и 3 задача но не мога да реша 1ва.

ето и решенията на 2 и 3.

2 зад

#include<iostream>
using namespace std;
int main ()
{
    long a,s,m;
    s=0;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>a; s=s+a;
    cin>>m; m=70-s;
    cout<<m<<endl;
    
    
      
system ("pause");
return 0;
}

3 зад

#include<iostream>
using namespace std;
int main ()
{
    long a,b,s,m;
    s=0;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>a>>b; s=s+a*b;
    cin>>m; m=s/2;
    cout<<m<<endl;    
system ("pause");
return 0;
}

Моля да ми кажете ако има някаква грешка (ако е възможно).

Зада исползваш system() ти трябва хедъра stdlib, и препоръчително е да не го използваш. По-добре използвай cin.get() или getch() ако ползваш компилатор на Borland.

Edit: @cecy1997, смятам моя код на 2ра задача за по удачен, защото при мен ако сборът е повече от 70 слага край на програмата. А при теб какво прави ? Ако сборът е например 83? Резултата, ще бъде -13.

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

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

Здравйте! От скоро уча програмиране на С++.(работя на DevC++). ще помоля да ми помогнете за следнуте задачки:

Дадени са n точки в равнината; n<1000. Координатите им са цели числа [-500;500]

a)PROBA , която по зададени координати на 2 върха(горен ляв и долен десен) на правоъгълник проверява колко от точките са извън него.

б)pointsx ще изведе номерата на точките по реда на въвеждането им подредени по нарастващ ред по х координата.

Благодаря предварително и много се надявам наистина да помогнете! Публикувано изображение

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

Моля да ми помотнете с тази задача: Дадени са 2 отсечки. Да се намери дължаната на застъпването им. Ще съм ви много благодарен.

Моля да ми помотнете с тази задача:

Дадени са 2 отсечки. Да се намери дължаната на застъпването им.

Ще съм ви много благодарен.

Реши я математически, после ще ти бъде много лесно да я напишеш 3 реда е ;)

"Даден е масив от цели числа. Да се състави и изведе на екрана друг масив, съдържащ индексите на всички елементи, които са различни от най-малкия елемент на масива и техните индекси са по-малки от индекса, на който най-малкият елемент се среща за пръв път в масива."

Отговарям 3 години след пускането на темата,но скоро научих C и сега уча C++...видях решенията и те ми се видяха прекалено дълги.Прочетох само първата страница на темата.

Това не става ли за решение ?

#include <stdio.h>
#define MAX 10

int main(){
  int masiv_celi[MAX],index_masiv[MAX],l=0,min=0,min_index=0,i,k,p=0;

for (i=0;i<MAX;i++)
{
printf("Enter an integer:");
scanf("%d",&masiv_celi[i]);
if (l==0) { min=masiv_celi[i]; min_index=i; l=1;}
else if (masiv_celi[i]<min) { min=masiv_celi[i]; min_index=i; }
//printf("min=%d",min);
}

for (k=0;k<MAX;k++)
{
if (masiv_celi[k]!=min && k<min_index)  
{
index_masiv[p]=k;
printf("index_masiv[%d]=%d\n" , p,k);
p++;
}
}


}

Моля да ми помотнете с тази задача:

Дадени са 2 отсечки. Да се намери дължаната на застъпването им.

Ще съм ви много благодарен.

Решавам я математически, но не мога да я напиша. Имам 6 случая.

започвам така:

if (m1<s1)

if(m2>s2)

x=s2-s1;

else

x=m2-s1;

else

.....

и не мога да я продължа

Моля да ми помогнете :ph34r:

Решавам я математически, но не мога да я напиша. Имам 6 случая.

започвам така:

if (m1<s1)

if(m2>s2)

x=s2-s1;

else

x=m2-s1;

else

.....

и не мога да я продължа

Моля да ми помогнете :yanim:

На тези отсечки ако е дадена дължината, какво са ти m1,m2,s1,s2? Да не са дадени координати на краищата? И откъде знаеш че изобщо се застъпват, на една права ли лежат?

На тези отсечки ако е дадена дължината, какво са ти m1,m2,s1,s2? Да не са дадени координати на краищата? И откъде знаеш че изобщо се застъпват, на една права ли лежат?

отсечките са на една права. Едната например е в зелено, а другата- в червено. Иска се да се намери колко см е застъпването им, а ако няма такова да се покаже 0.

ПП- с м означавам едния край, а с с-другия

отсечките са на една права. Едната например е в зелено, а другата- в червено. Иска се да се намери колко см е застъпването им, а ако няма такова да се покаже 0.

ПП- с м означавам едния край, а с с-другия

#include<iostream.h>
int main()
{cout<<"vavedi kraishta na 1-ta otsechka";
double a,b;
cin>>a>>b;
if (b<a){cout<<"greshen vhod \n";
   system("pause");
		 return 1;}			   
cout<<"vavedi kraishta na 2-ta otsechka";
double c,d;
cin>>c>>d;
if (d<c){cout<<"greshen vhod \n";
   system("pause");
		 return 1;}	
if (a<c)
if (c<b)cout<<"zastupvat se v "<<b-c<<"sm \n";
else cout<<0<<"\n";
else if (a<d)cout<<"zastupvat se v "<<d-a<<"sm \n";
else cout<<0<<"\n";
system("pause");
return 0;
}

Здравйте! От скоро уча програмиране на С++.(работя на DevC++). ще помоля да ми помогнете за следнуте задачки:

Дадени са n точки в равнината; n<1000. Координатите им са цели числа [-500;500]

a)PROBA , която по зададени координати на 2 върха(горен ляв и долен десен) на правоъгълник проверява колко от точките са извън него.

б)pointsx ще изведе номерата на точките по реда на въвеждането им подредени по нарастващ ред по х координата.

Благодаря предварително и много се надявам наистина да помогнете! Публикувано изображение

Ехоо , някой ще помохне ли за тези двечките? Публикувано изображение

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

Всъщност искам помощ само за втората.

#include<iostream.h>
struct points
{int x,y;};
int main()
{
points a[1000];
points t;
int n;
do
{cout<<"n=";
cin>>n;}
while ((n>1000)&&(n<0));
int i=0;
do
{
cout<<"vavedi koordinati na "<<i<<"-tata tochka:";
cin>>a[i].x>>a[i].y;
if ((a[i].x>=-500)&&(a[i].x<=500)&&(a[i].y>=-500)&&(a[i].y<=500))i++;}
while (i<=n-1);
for(int i=0;i<=n-2;i++)
for(int j=0;j<=n-i-2;j++)
if (a[j].x>a[j+1].x){t=a[j];
					 a[j]=a[j+1];
					 a[j+1]=t;}
							
for(int i=0;i<=n-1;i++) cout<<i<<"-ta tochka e s koordinati "<<a[i].x<<" "<<a[i].y<<"\n";
system("pause");
return 0;
}

Търся някой от форума ако може да реши тези задачи, че ми трябват за Курсов проект!!! (ако трябва ще платя)
Ето ги и задачите:

Условен оператор:
1. Напишете програма, която да чете цяло число (0<x<1000) и да отпечатва сумата от цифрите му.


Цикли:
2. Дадено е цяло число N (>1). Да се изведе най-малкото цяло число К за което сумата 1+2+...+К е по-голяма или равна на N и самата сума.


Масиви:
3. Даден е масив с размер N. Да се замени всеки елемент в масива със средноаритметичното на дадения елемент и неговите съседи.


Функции:
4. Да се дефинира функцията Len (xA, yA, xB, yB) от реален тип, намиращи дължината на отсечката AB от равнината по координатите на нейните краища :

|AB| = ((xA-xB)2+(yA-yB)2)1/2

(xA, yA, xB, yB - реални параметри ). С помощта на тази функция да се намери дължината на отсечките AB, AC, AD, ако са дадени координатите на точките A, B, C, D.



Класове:
5. Да се напише клас за дадения “реален” обект, като се създаде клас със следните членове:
- конструктор;
- get функции (поне една);
- set функции (поне една);
- print функция, извеждаща на екрана в подходящ вид членовете-данни на класа;
- член-функцията, описана в конкретната задача.

6. Да се напише тестваща функция (main) за демонстрация на съсздадения клас :

Обект - студент: име, презиме и фамилия, фак.номер, 5 оценки; Функция - изчислява средния успех на студента. (име:Krasimir; презиме:Todorov; фамилия:Usliyski; фак.номер:5 511; 5 оценки:4,5,5,5,6)


в Dev-C++

Търся някой от форума ако може да реши тези задачи, че ми трябват за Курсов проект!!! (ако трябва ще платя)

Ето ги и задачите:

Условен оператор:

1. Напишете програма, която да чете цяло число (0<x<1000) и да отпечатва сумата от цифрите му.

Цикли:

2. Дадено е цяло число N (>1). Да се изведе най-малкото цяло число К за което сумата 1+2+...+К е по-голяма или равна на N и самата сума.

Масиви:

3. Даден е масив с размер N. Да се замени всеки елемент в масива със средноаритметичното на дадения елемент и неговите съседи.

Функции:

4. Да се дефинира функцията Len (xA, yA, xB, yB) от реален тип, намиращи дължината на отсечката AB от равнината по координатите на нейните краища :

|AB| = ((xA-xB)2+(yA-yB)2)1/2

(xA, yA, xB, yB - реални параметри ). С помощта на тази функция да се намери дължината на отсечките AB, AC, AD, ако са дадени координатите на точките A, B, C, D.

Класове:

5. Да се напише клас за дадения “реален” обект, като се създаде клас със следните членове:

- конструктор;

- get функции (поне една);

- set функции (поне една);

- print функция, извеждаща на екрана в подходящ вид членовете-данни на класа;

- член-функцията, описана в конкретната задача.

6. Да се напише тестваща функция (main) за демонстрация на съсздадения клас :

Обект - студент: име, презиме и фамилия, фак.номер, 5 оценки; Функция - изчислява средния успех на студента. (име:Krasimir; презиме:Todorov; фамилия:Usliyski; фак.номер:5 511; 5 оценки:4,5,5,5,6)

в Dev-C++

Един колега пита колко пари даваш да напише тия неща?

Аз му ги написах безплатно. Публикувано изображение

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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