Премини към съдържанието
  • Добре дошли!

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

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

     

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


Препоръчан отговор

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

Редактирано от ined (преглед на промените)
Линк към коментара
Сподели в други сайтове

Помня, как се научих да програмирам. Имаше в катедрата по автоматизация на управлението на войските 8 битови компютри "Правец". И едни жълти книжки с примерни програми и обяснения за оня древния бейсик с редовете. По цели нощи не спях и се чудех защо уж преписвам програмите, пък те не тръгват. Тръгнаха. С мерак.

Линк към коментара
Сподели в други сайтове

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

на С езика мога, но на С++ незнам как ще стане

Редактирано от Dark Vader (преглед на промените)
Линк към коментара
Сподели в други сайтове

Ами това е цялото условие което съм написал, трябва да е на C++. Ако някой може да ми я напише. 

Редактирано от Vasil Petkov (преглед на промените)
Линк към коментара
Сподели в други сайтове

Явно никой няма да ми помогне. 

Американски форум: питаш нещо и ти отговарят; 
Руски форум: питаш нещо и теб те питат; 
Български форум: питаш нещо и всички ти обясняват колко си тъп!

Линк към коментара
Сподели в други сайтове

Явно никой няма да ми помогне. 

Американски форум: питаш нещо и ти отговарят; 

Руски форум: питаш нещо и теб те питат; 

Български форум: питаш нещо и всички ти обясняват колко си тъп!

Как правилно да поискаме помощ за С/С++

 

Някой ще ми я напише ли?  :(

 

"@ined, може ли да ми напишеш един Javascript, който трябва да предам утре на работа, за да изкарам надницата. Ако искаш мога директно до офиса да те заведа, ако ще ти е по-удобно. "

 

Това как Ви звучи, колега @Vasil Petrov ? Вие искате някои от нас да свърши работа, която е дадена на Вас. Идеята на темата/темите в раздела е взаимопомощ - сайта и форума не са АД за писане на домашни и курсови проекти. Приложете конкретни въпроси, код или дилеми пред хората и ще Ви помогнем. Приложете докъде сте направили нещата или изложете въпроса си във вида "Как да подходя/Как да реализирам еди-си-какво".

 

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

 

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

 

Именно поради тези причини, намирам коментара Ви най-малкото за неуместен, ако не и за обиден, спрямо всички участници в дискусиите. 

 

Поздрави и успех с начинанията Ви !

 

Искрено Ваш, 

Soundtracker

Линк към коментара
Сподели в други сайтове

Извинявам се много но вчера писах и никой не  каза ще ти помогнем нямам си на идея какво и как трябва да стане, ако знам нещо то е това което съм написал. Просто питам защото ми е спешно извинявам се че не ми се отдава програмирането. Просто ще съм Ви много благодарен ако я напишете Аз не мога за това ви моля вас!

Линк към коментара
Сподели в други сайтове

Здравейте!Някой ще бъде ли така добър, да ми помогне, като ми обясни какво правят следните редове код:

file.seekg(0, file.end); - тук ми е ясно, че get указателят се премества в началото на файла, но ми е чудно, защо след 0 е добавено това "file.end"

 

void OutputFile(){  //funkciqta izvejda sudurjanieto na faila
file.open("sust.txt");
string line;
cout << "\n\n Ot fail: \n\n";
while (getline(file, line)){
getline(file, line);
cout << line << endl;
}
file.close();
}
 
Тук в тази функция не мога да разбера какво точно прави удебеленият участък с getline и ще съм много благодарен, ако някой ми помогне.Мерси предварително!
Линк към коментара
Сподели в други сайтове

file.seekg(0, file.end);  позиционира указателя на края на файла.

а другото няма много смисъл, по-скоро би трябвало да е:

while (getline(file, line)){
    cout << line << endl;
}
Линк към коментара
Сподели в други сайтове

#include <iostream>
using namespace std;

int main()
    {
    int masiv[15];
    int i;
    int suma = 0;	
    cout <<"\n\n";	
    cout <<"vavedete elementite na masiva"<< endl << endl;
    for(i=0;i<15;i++)
        {
	cout <<"masiv[" << i <<"] =" ;
	cin >> masiv[i];
	}
    cout << "\n\nIzvezhdane na masiva element*index na ekrana\n\n";
    for(i=0;i<15;i++)
        {
        cout <<i*masiv[i];
	cout << endl;
	}	
    cout << "\n\nIzvezhdane na sumata element*index+element*index........ na ekrana\n\n";
    for(i=0;i<15;i++)
	{
	suma = suma+i*masiv[i];
	}
    cout <<"suma = " << suma << endl;   		
    return 0;
    }	

Аз не можах да се стърпя. Айде да е за цитата от войводата !!!

Редактирано от Реджеп Иведик (преглед на промените)
Линк към коментара
Сподели в други сайтове

Тоя цитат ли?

 

 

[edit] сега видях за кой цитат става въпрос.

Редактирано от ined (преглед на промените)
Линк към коментара
Сподели в други сайтове

 

file.seekg(0, file.end);  позиционира указателя на края на файла.

а другото няма много смисъл, по-скоро би трябвало да е:

while (getline(file, line)){
    cout << line << endl;
}

Да ясно, ама какво точно прави getline в случая, понеже си е вярно написано и работи правилно, но не мога да го обясня...

Редактирано от notorious19 (преглед на промените)
Линк към коментара
Сподели в други сайтове

Да ясно, ама какво точно прави getline в случая, понеже си е вярно написано, но не мога да го обясня...

Чете от file един ред, записва го в line. Ако върне край на файла приключва while цикъла

Линк към коментара
Сподели в други сайтове

#include <iostream>
using namespace std;

int main()
    {
    int masiv[15];
    int i;
    int suma = 0;	
    cout <<"\n\n";	
    cout <<"vavedete elementite na masiva"<< endl << endl;
    for(i=0;i<15;i++)
        {
	cout <<"masiv[" << i <<"] =" ;
	cin >> masiv[i];
	}
    cout << "\n\nIzvezhdane na masiva element*index na ekrana\n\n";
    for(i=0;i<15;i++)
        {
        cout <<i*masiv[i];
	cout << endl;
	}	
    cout << "\n\nIzvezhdane na sumata element*index+element*index........ na ekrana\n\n";
    for(i=0;i<15;i++)
	{
	suma = suma+i*masiv[i];
	}
    cout <<"suma = " << suma << endl;   		
    return 0;
    }	

Аз не можах да се стърпя. Айде да е за цитата от войводата !!!

 

Страшно много ти благодаря!!! Добавих само един "system("pause");" защото след като въвеждах стойностите се затваряше. Още веднъж ти благодаря!

Линк към коментара
Сподели в други сайтове

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

Здрасти имам малък проблем със следната задача : 

 

В една държава разполагат с монети от 2 и 5 пари. Да се
състави програма MONETI, която по въведена сума S отпечатва
всички възможни комбинации от монети, с които тя може да се
представи. Ако тя не може да се представи с тези монети,
отпечатва “NO”.
Пример 1:
Вход:
17
Изход:
1.2+3.5
6.2+1.5
 
ето и сорс кода който писах :

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
int S,dve=2,pet=5,temp=0,temp1=0;
printf("MONETI : ");scanf("%d",&S);
if(S%2==0)
{
for(int i=1;i<=S;i++)
   {
if(i%2==0)
temp++;
if(i%5==0)
temp1++;
    }
}
else
{
printf("NO");
}
printf("2x %d\n5x %d",temp,temp1);
 
 
 
 
printf("\n\n");
system("PAUSE");
}

 

за останалото малко акъл или начини ако може, ще съм Ви благодарен :)

Редактирано от Dark Vader (преглед на промените)
Линк към коментара
Сподели в други сайтове

Логиката е грешна. Трябва да започнеш да вадиш, не да делиш. И първо намираш колко най-много монети от 5 могат да се съберат в сумата, опитваш се да допълниш с две. СЛед това намаляваш броя на 5 с едно и отново търсиш допълване с 2. И така докато 5 не стане -1, тогава спираш

Линк към коментара
Сподели в други сайтове

Логиката е грешна. Трябва да започнеш да вадиш, не да делиш. И първо намираш колко най-много монети от 5 могат да се съберат в сумата, опитваш се да допълниш с две. СЛед това намаляваш броя на 5 с едно и отново търсиш допълване с 2. И така докато 5 не стане -1, тогава спираш

Благодария. 

 

Мисля че успях, ето сорс кода. 

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int S,i2,i5,b=0;
	printf("MONETI : ");scanf("%d",&S);
	if(S%3!=0)
	{
		for(i2=0;i2<=S/2;i2++)
    	{
	    	for(i5=0;i5<=S/5;i5++)
	    	{
		    	if(i2*2+i5*5==S)
		    	{
		    		printf("2x %d | 5x %d\n",i2,i5);
		    	}
     		}
    	}
	}
	else
	{
		printf("No");
	}
	
	
	
	
	
	printf("\n\n");
	system("PAUSE");
}
Линк към коментара
Сподели в други сайтове

Пак е грешна логиката. Не проследих целия код, но защо ако се цели на три без остатък да не може да се състави от монети от 2 или 5 стотинки. Ами 6, ами 15, ами 12


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

Линк към коментара
Сподели в други сайтове

Втория цикъл е напълно излишен.

#include <stdio.h>
#include <stdlib.h>
int main()
{
   int S,i2,i5,b=0;
   printf("MONETI : ");scanf("%d",&S);
   for(i5=0;i5<=S/5;i5++) {
      i2=S-i5*5;
      if (i2%2==0) {
          i2 /= 2;
          printf("%d. 2x %d | 5x %d\n",++b,i2,i5);
      }
   }
   if (b==0) printf("No\n");
   system("PAUSE");
}
Редактирано от ined (преглед на промените)
Линк към коментара
Сподели в други сайтове

 

Втория цикъл е напълно излишен.

#include <stdio.h>
#include <stdlib.h>
int main()
{
   int S,i2,i5,b=0;
   printf("MONETI : ");scanf("%d",&S);
   for(i5=0;i5<=S/5;i5++) {
      i2=S-i5*5;
      if (i2%2==0) {
          i2 /= 2;
          printf("%d. 2x %d | 5x %d\n",++b,i2,i5);
      }
   }
   if (b==0) printf("No\n");
   system("PAUSE");
}

И ти не проверяваш дали въобще в някой случай се печата нещо на екрана

Линк към коментара
Сподели в други сайтове

Добавете отговор

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

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване