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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

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

Featured Replies

Значи искам да попитам някой ще може ли да ми каже как се решава таз задача:7. Да се въведе от клавиатурата символен низ с предполагаема дължина до 300 символа. Да се отпечата въведеният низ. След това да се открият, да се преброят и да се отпечатат на екрана и всички числа, които се съдържат във въведения символен низ. ЗАБЕЛЕЖКИ: а) Едно число може да се състои от една или повече цифри – когато числото е многоцифрено, то следва да се брои и отпечатва като едно число! б) След всяко отпечатано число да се оставя поне по един празен интервал. ТЪЙ КАТО СЕ ЗАНИМАвАМ С НЕЯ ВЕЧЕ 3 ДЕНА.ПЛС НЯКОЙ ДА ПОМОГНЕ БАРЗО ЗАЩОТО МИ ТРЯБВа ЗА УТРЕ. P.S.Мерси предварително.!!

  • Отговори 941
  • Прегледи 234,6k
  • Създадено
  • Последен отговор

Помогнете с решението на тази задача. Благодаря предварително.

При създаването на програмата да се изпълнят следните изисквания:

•Да се моделира дадения в задачата "реален" обект с неговите свойства, като се използват класове;

•Да се състави клас с член-променливи (характеристики) и член-функции (методи), указани в задачата;

•Декларацията и реализацията на класовете да бъдат отделени в различни файлове, свързани в проект;

•Да се състави конструктор и деструктор;

•Да се състави метод Set() за установяване на характеристиките на обектите;

•Да се състави метод Print() за разпечатване характеристиките на обектите;

•Да се съставят методи за връщане стойностите на всяка характеристика. Например: ако са декларирани характеристики name, age, number, да се дефинират методите GetName(), GetAge(), GetNumber();

•Създаване и унищожаване на обекти от класа чрез вход на данните от клавиатура и/или файл и проверка за коректност на входните данни;

•Да се изведе на екрана подходящо съобщение, ако не е открит търсения обект;

-----------------------------------------------------------------------------------------------------------------

Програмата трябва да тръгва на Dev-C++ .

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

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

-----------------------------------------------------------------------------------------------------------------

Ти да не си в БСУ - то??? :angry: Айде ако си намерил как се решава тази задачка да ми пратиш едно ЛС, ще съм ти благодарен.

Ще съм много благодарна ако някой ми разясни къде ми е грешката в тази програма, за да мога да я коригирам.

#include<stdio.h>
#include<math.h>
#define M 25
  void main()
{ int A[M],B[M],C[M];
  double d[M],N[M];
  int i,j=0,l,k; //broqchi
  do
	 { printf("vavedi pravi l:\n");
	 scanf("%d",&l);
	  }
  while (l<1||l>M);
  for(i=0;i<l;i++)
	 { printf("vavedi stoinost za A:\n");
		scanf("%d",&A[i]);
		printf("vavedi stoinost za B:\n");
		scanf("%d",&B[i]);
		printf("vavedi stoinost za C:\n");
		scanf("%d",&C[i]);
		d[i]=C[i]/sqrt(A[i]*A[i]+B[i]*B[i]);
	  }
	for(i=0;i<l;i++)
	  {printf("pri stoinosti za A,B,C=%d,%d,%d\n",A[i],B[i],C[i]);
	  printf("razstoqnirto d=%lf\n",d[i]);
	  }
		for(i=0;i<l;i++)
		if(d[i]==0)
		{N[j]=i; j++;
		 printf("pravite minavashti prez centara sa %d,%d,%d\n",A[i],B[i],C[i]);
	  for(k=i;k<l-1;k++)
			 { A[k]=A[k+1];
				B[k]=B[k+1];
				C[k]=C[k+1];
				}
		  i--;l--;
		  }
		for (i=0;i<l;i++)
			{printf("stoinosti na pravi ne minavashti prez centara %d,%d,%d\n",A[i],B[i],C[i]);
			}
		printf("broi na pravite minavashti prez centara %d\n",j);
}

За желаещите да ми помогнат, пояснявам че една права за да мине през центъра трябва d=0,като ме интересува кой и колко са тези прави.

Самия компилатор не отчита грешки, и въпреки това при изпълнение на задачата се появяват такива след всяко d=0.

Искренно се надявам да се намери някой който да ми помогне...

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

Някой може ли да провери условите на тази задача е вярно че при мен нещо не е наред и ми дава 2 грешки който незнам как да оправя :

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

Debug/kursova.exe : fatal error LNK1120: 1 unresolved externals

Error executing link.exe.

А условието на задачата е: Дадени са два масива от числа(а1,а2,а3...аn) и (b1,b2,b3...бn).Числата в първия масив са сортирани по големина а във втория отговарят на условието: b1=a0+a1 , bк=ак-1+ак ... к=2 ...n. Да се напише програма за получаване на масив (c0,c1,c2..cn) състоящ се от елементите на масивите А и Б.

ПП: това е на Microsoft Visual C++ 6.0

ето сорса ..

#include<stdio.h>
void main ()
{
	int broiEl;
	printf("Vavedete broi elementi");
	scanf("%d",&broiEl);
	int*a=new int[broiEl];
	for(int i=0;i<broiEl;i++);
	{
		printf("Vavedete elementi na masiva:\n");
		scanf("&d",&a[i]);
		if(a[i--]>a[i])
		printf("chislata ne sa sortirano vyvedeni!");
	}
	scanf("%d",&broiEl);
	int*b=new int[broiEl];
	for(int j=1;j<broiEl;j++);
	b[j]=a[i--]+a[i];
	
	scanf("%d",&broiEl);
	int*c=new int[broiEl];
	for(int k=0;k<broiEl;k++);
	if(a[i]<b[j]),c[k]=a[i];
	printf("%d",c[k]);

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

Здравейте, сестра ми има задачи по C++ но се е видяло че не го разбира тоя програмен език и неможе да се справи, а пък не съм се занимавал с него а и трябва до два дни решени 11 задачи (предполагам са къси) и бих искал да помоля тук да помогнете... че няма да и направят заверката ако не ги предаде...

Първо да оточня, тя искаше да учи химия влезна в една спецялност и освен химията учи още 23432423 други неща който НЕ ГИ РАЗБИРА....

http://78.83.229.143/zadachi.htm - от тука трябва да реши: 1, 2, 11, 12, 21, 22, 31, 32, 41, 42, 51.

Моля ви да помогнете... Ако трябва и скайп ще си дам някой да ми пише.. незнам но просто друг изход няма..

Такааа. Задачата е такава, че програмата да ми изведе първите 10 прости Мерсенови числа (от вида прости числа изпълнени по формулата: 2 на степен n -1, където n също е просто число). Такааа... ето го кодът:

#include <stdio.h>
#include <math.h>

int prosto(int x);

int main()
{
	 int br, i=1;
	 long int n;
	 for (br=1; br<=10; br++)
	 while (1)
	 {
			 i = i+1;
			 if (prosto(i))
			 {
				 n = pow(2, i) - 1;
				 if (prosto(n))
				 {
					 printf("%d ", n);
					 break;
				 }
			 }
	 }
}

int prosto(int x)
{
	 int y;
	 for (y=2; y<=sqrt(x); y++)
		  if (x%y==0) return 0;
	 return 1;
}

Проблемът е че разрядността на int не стига и последните 2 мерсенови числа ми излизат със знак минус. Някакви идеи???

Мерси предварително!

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

Моля помогнете хал хабер си нямам от тоз C+ ако някой може да я напрай таз задачка мн ще съм му благодарен Oт клавиатурата се въвеждат координатите на точки, които, последователно свързани, образуват начупена линия. Въвеждането се прекратява, когато дължината на начупената линия стане, по-голяма от зададено число L. Извежда се номера на най-дългата отсечка от начупената линия.

Здравейте Бих искал да Ви помоля за малко помощ по тази задача В двумерен масив са зададени разстояния между градове. В едномерен масив запълнете с разстояния над главния диагонал. Отпечатайте го. Нама идея от каде да почна!

Здравейте

Бих искал да Ви помоля за малко помощ по тази задача

В двумерен масив са зададени разстояния между градове. В едномерен масив запълнете с разстояния над главния диагонал. Отпечатайте го.

Нама идея от каде да почна!

Ами общо взето почваш от 1-вия фор и стигаш до втория. Публикувано изображение Точно два реда е.

Ами общо взето почваш от 1-вия фор и стигаш до втория. Публикувано изображение Точно два реда е.

лесно ти е да го кажеш Публикувано изображение

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

1/1! си е 1 :idea: Оттам нататък.... 1/x! Правиш си някаква функия с параметър x, която ще ти върти 2,3...x и ще умножава числата. След тва ти връща получената стойност,делиш и си готов :)

имам да решавам задача по информатика и ми трябва малко помощ зада4ата е "две естествени числа са записани в едномерни масиви като на един елемент от масива съответствува 1 цифра от числото.Сравннете двете числа по големина.В два други масива получете частното и остатъка при делението им."Съжелявам че ви занимавам с това но наистина ми е трудна тая задача

Задачата е : За въведени n триъгалника да се намери триъгалника с най-голямо лице!

#include <iostream.h>
#include <math.h>
void main(){
	int n,a[20],b[20],s=0;
	cout<<"Vavedete broq na triugalnicite: ";cin>>n;
	for (int i=0;i<n;i++){
		cout<<i<<"Vavedete stranite: ";cin>>a[i];
	}
	for (i=0;i<n;i++){
		cout<<"Vavedete visochinite: ";cin>>b[i];
	}
	for (i=0;i<n;i++){
		s=(a[i]*b[i])/2;
	}
	cout<<"Liceto e: "<<s<<endl;
}

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

Ето един лесен начин.

,smax=0;

cout<<"Vavedete broq na triugalnicite _linenums:0'>#include <iostream.h> #include <math.h> void main(){ int n,a[20],b[20],s=0,smax=0; cout<<"Vavedete broq na triugalnicite: ";cin>>n; for (int i=0;i<n;i++){ cout<<i<<"Vavedete stranite: ";cin>>a; } for (i=0;i<n;i++){ cout<<"Vavedete visochinite: ";cin>>b; } for (i=0;i<n;i++){ s=(a*b)/2; if(s>smax) smax=s; } cout<<"Liceto e: "<<smax<<endl; }

Добави това което е със синьото и пробвай да видиш дали работи. Предполагам, че ще ти стане ясно и само с примера без обяснения. А ако не го разбираш кажи и ще обяснявам. ;)

Също бих ти препоръчал да смениш този тип int с double, защото сега не смята съвсем вярно ако лицето се получи да не e цяло число. За променливите i и n може да си остане int.

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

Ето още една идейка:

#include <iostream>
using namespace std;

void main()
{
	int n,i;
	float a,h,max=0;
	cout<<"Vavedete broq na triugalnicite: "; cin >> n;
	for(i=0;i<n;i++){
		cout<<"Vavedete a: ";
		cin >> a;
		cout<<"Vavedete visochinata: ";
		cin >> h;
		if((a*h)/2 > max)
			max=(a*h)/2;
	}
	cout << "Max S=" << max;
}

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

Ето още една идейка:

#include <iostream>
using namespace std;

void main()
{
	int n,i;
	float a,b,c,h,max=0;
	cout<<"Vavedete broq na triugalnicite: "; cin >> n;
	for(i=0;i<n;i++){
		cout<<"Vavedete strani a,b,c: ";
		cin >> a >> b >> c;
		cout<<"Vavedete visochinata: ";
		cin >> h;
		if((a*h)/2 > max)
			max=(a*h)/2;
	}
	cout << "Max S=" << max;
}

Всичко хубаво,но явно тук се работи с 16 битов компилатор и защо въвеждаш 3 страни и после височина? Става дума за правоъгълен триъгълник.

Всичко хубаво,но явно тук се работи с 16 битов компилатор и защо въвеждаш 3 страни и после височина? Става дума за правоъгълен триъгълник.

Той човека ше си го оправи. Придържам се към условието. Нарочно го направих с 3-те страни!

Просто сложността на алгоритъма пада от n*3 на n. :speak:

Едитнах го...

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

Задачките са писани на C++ Builder

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

Задача 1

//---------------------------------------------------------------------------
  
  #include <vcl.h>
  
  #include <iostream.h>
  #pragma hdrstop
  
  //---------------------------------------------------------------------------
  
  #pragma argsused
  int main(int argc, char* argv[])
  {
  int a;
  int b;
  cout << "Vavedete stranata a na pravoagalnika: "; cin >> a;
  if(!cin) return 0;
  cout << "Vavedete stranata b na pravoagalnika: "; cin >> b;
  if(!cin) return 0;
  
  cout << "\n " << "Perimetarat na pravoagalnika e: " << (2*a) + (2*b) << endl;
  system("PAUSE");
	  return 0;
  }
  //---------------------------------------------------------------------------

Задача 2

//---------------------------------------------------------------------------
 
 #include <vcl.h>
 
 #include <iostream.h>
 #pragma hdrstop
 
 //---------------------------------------------------------------------------
 
 #pragma argsused
 int main(int argc, char* argv[])
 {
 /// Правоъгълен паралелепипед
 
 float a;
 float b;
 float c;
 cout << "Vavedete osnovata a na paralepipeda: "; cin >> a;
 if(!cin) return 0;
 cout << "Vavedete osnovata b na paralepipeda: "; cin >> b;
 if(!cin) return 0;
 cout << "Vavedete visochinata c na paralepipeda: "; cin >> c;
 if(!cin) return 0;
 
 // формулата е V = a.b.c
 cout << "\n " << "Obemat na paralepipeda e V: " << a*b*c << endl;
 system("PAUSE");
	 return 0;
 }
 //---------------------------------------------------------------------------

Задачка 11

//---------------------------------------------------------------------------
 
 #include <vcl.h>
 
 #include <iostream.h>
 #pragma hdrstop
 
 //---------------------------------------------------------------------------
 
 #pragma argsused
 int main(int argc, char* argv[])
 {
 
 float a;
 float b;
 
 cout << "Vavedete 1voto chislo "; cin >> a;
 if(!cin) { return 1;}
 cout << "Vavedete 2roto chislo "; cin >> b;
 if(!cin) return 1;
 if(b < 0) {
 cout << "Vavedenoto chislo e po malko ot 0";
 return 1;
 }
 
 cout << "Rezultatat e: " << a/b;
 
 
 
 system("PAUSE");
	 return 0;
 }
 //---------------------------------------------------------------------------

Задача 41

//---------------------------------------------------------------------------

#include <vcl.h>

#include <iostream.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
   double a, b, c;
 cout << "Vavedete 1voto chislo: "; cin >> a;
 cout << "Vavedete 2roto chislo: "; cin >> b;
 cout << "Vavedete 3toto chislo: "; cin >> c;

   double biggest;
   if (a > b && a > c)
	{ biggest = a;
	}
   else if (b > a && b > c)
	{ biggest = b;
	}
   else biggest = c;
   cout << "Naj-goliamoto chislo e: " << biggest;
  return 0;

		   system("PAUSE");
}


//--------------------------------------------------------------------------

Толкоз от мен за тази вечер,

хайде аз лягам че никой не остана уте ако намеря малко време ще се постарая и за другите задачки.

Дано да са ти (и) от полза и Успех на изпита :huh:

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

Решението е следното. В масив задаваш първите десет прости числа. Дефинираш функция която да извършва операцията степенуване на двойката, като резултата от степенуването се представя се пази в масив като всеки елемент на масива е цифра от числото. Това е идеята

Като за начало - здравейте ;) Тъй като се уча на C++ сам няма кой да попитам при проблеми и реших да попитам тук.Досега се оправях но сега нещо не мога да си намеря грешката. Става въпрос за програма която решава квадратно уравнение по въведени данни и изписва х1 и х2. Самата програма работи но не смята правилно и се чудя защо. С Борланд C++ 5 компилирам. А ето и самата програма:

//Kvadratni uravneniq
#include <iostream.h>
#include <math.h>
double a,b,c,D,d,x1,x2;
int main()
{
cout << "Vuvedete a" << endl;
cin >> a;
cout << "Vuvedete b" << endl;
cin >> b;
cout << "Vuvedete c" << endl;
cin >> c;
D=-b-(4*a*c);
if (D<0)
{
cout << "Nqma realni koreni" << endl;
}
else if (D>=0)
{
d=sqrt(D);
x1=(-b-d)/(2*a);
x2=(-b+d)/(2*a);
cout << "X1=" << x1 << endl;
cout << "X2=" << x2 << endl;
}
return(0);
}

П.П.: Ако знаете някой сайт със задачи за C++ моля споделете го.

Дам... и аз се учудих в началото.... D=b*b-(4*a*c); !!! Това е! :hush: И добави проверка ако не е квадратно - if (a==0) :sobbing:

Дам... и аз се учудих в началото....

D=b*b-(4*a*c); !!!

Това е! :) И добави проверка ако не е квадратно - if (a==0) :)

Ако знаеш сега като видях какво си написал колко яд ме хвана :) Много благодаря ( за проверката не се бях сетил ^_^ )

П.П.:И се извинявам че не постнах тук а в отделна тема Публикувано изображение

ЕДИТ: А между другото някой знае ли команда за оцветяване на фона или слагане на такъв ? Че командите които видях в гугъл не работят в Борланд Публикувано изображение

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

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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