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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

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

Featured Replies

Имам проблем с една задача на c++. Ето я и задачата: Инициализираите масив 5 на 4. За всеки елемент индекси за ред и стълб, които са четни числа, да се намери техния сбор.
  • Отговори 941
  • Прегледи 234,6k
  • Създадено
  • Последен отговор

ЕЕ, направил си той регистрация и още първата му публикация е да иска някой да му реши задачата наготово. Хайде помисли малко, напиши няколко реда код и ще ти се помага и ще ти се дават насоки. НИКОЙ тук няма да ти реши задачата ей така. Потруди се малко, не искай всичко наготово. Ако винаги ще си така, то се откажи от програмирането.

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

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

Здравейте, имам доста голям проблем с една задача на C++, попринцип не с особенно голяма трудност, но за който разбира естествено :)

Да се състави програма за обслужване на библиотека. За всяка

книга се въвежда следната информация: заглавие на книгата, шифър по

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

получаване на следните резултати:

1. Извеждане на списък на всички книги с въведените данни за тях;

2. Да се пресметне и изведе общата сума, която е платена за

всички налични книги в библиотеката;

3. Да се пресметне и изведе максималната сума дадена за книга от

библиотеката;

4. Извеждане на списък на всички книги подреден по азбучен ред.

Искам да ви благодаря предварително за отделеното време и помощта!

Никой няма да ти реши задачата !!! :nono:

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

Докъде си стигнал? Къде дава грешка?

Я постни кода, който си написал! :rolleyes:

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

Някой може ли да ми разясни MFC за Visual C++ 6.0, че имам едно задание, което бих изготвил без проблем на Visual Basic.. Ето го и него - "Изготвяне на програма - телефонен указател: Windows-диалог с лист контрол. Данните да бъдат например име, телефон(и), адрес и т.н. Функции - добавяне на нов, изтриване, сортиране, търсене по критерий. Запис и четене на данни (в избран от вас формат на съхранение на данните)." Както казах с Visual Basic нямаше да имам никакъв проблем да го направя, но С++ съм учил само в режим Win32 Console Application..

Ами няма да ти е много лесно. Разгледай документацията в msdn и ще се ориентираш. Можеш да съхраниш данните в текстов файл или бази данни.

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

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

Публикувано изображение

Ето кода, но липсват някой работи, а някой са излишни, просто ми каже какво трябва да променя

#include <iostream>
using namespace std;
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 30 //max broi momicheta, nujno pri proverka na nomera
typedef struct
{
char nomer[10];
char ime[10];
char family[10];
int age;
float visochina;
float teglo;
char country[10];
} girl;
girl d[N];
int top=0;
float height;
float weight;
void load();
void save();
void input()
{
int i, n;
do
{
	 cout<<"n Kakav e broq na uchastnichkite: ";
	 cin>>n;
}
while (n<1||n>N);
fflush(stdin);
for(i=top; i<n;i++)
{
	 cout<<"n Nomer: ";
	 cin>>d[i].nomer;
	 cout<<"n Ime: ";
	 cin>>d[i].ime;
	 cout<<"n Familiq: ";
	 cin>>d[i].family;
	 cout<<"n Godini: ";
	 cin>>d[i].age;
	 cout<<"n Visochina(cm): ";
	 cin>>d[i].visochina;
	 cout<<"n Teglo(kg): ";
	 cin>>d[i].teglo;
	 cout<<"n Durjava: ";
	 cin>>d[i].country;
}
top+=n;
}

void disp(int i) //izvejda 1 uchastnichka
{
cout<<"n "<<d[i].nomer<<"t"<<d[i].ime<<"t"<<d[i].family<<"t"<<d[i].age<<"t"<<d[i].visochina<<"t"
	 <<d[i].teglo<<"t"<<d[i].country<<endl;
}

void list() //spisuk na uchasnitchkite
{
int i;
cout<<"n Spisuk na ychastnichkiten";
for(i=0;i<top;i++)
disp(i);
}

void teen()
{
int i;
cout<<"n Spisuk na ychastnichki pod 18 godinin";
for(i=0;i<top;i++)
{
	 d[i].age*=1;
	 if(d[i].age<18)
		 disp(i);
}
}

int search(float height)
{
cout<<"n Vavedi visochina(cm): ";
cin>>height;
for (int i=0;i<N;i++)
{
if (d[i].visochina == height)
{
disp(i);
return i;
}
}
cout<<"n Nqma takava ucastnichka";
return 0;
}
int search2(float weight)
{
cout<<"n Vavedi teglo(kg): ";
cin>>weight;
for (int i=0;i<N;i++)
{
if (d[i].visochina == weight)
{
disp(i);
return i;
}
}
cout<<"n Nqma takava ucastnichka";
return 0;
}

void load() //zarejda sudurjanieto na file-a
{
FILE *fp;
int i;
if((fp=fopen("mis_svqt.dat", "rb"))==NULL)
{
	 cout<<"n EROR 404: File not found!n "; return;
}
if(fread(&top, sizeof(top), 1, fp)!=1)
{
	 cout<<"n Error size"; exit(1);
}
	 for(i=0;i<top;i++)
if(fread(&d[i], sizeof(girl),1,fp)!=1)
{
	 cout<<"n Error reading structure!"; exit(1);
}
}
void save() //zapazva sudurjanieto na file-a
{
FILE *fp;
int i;
if((fp=fopen("mis_svqt.dat", "wb"))==NULL)
{
	 cout<<"n Eror saving file!"; return;
}
if(fwrite(&top, sizeof(top), 1, fp)!=1)
{
	 cout<<"n Error w top"; exit(1);
}
	 for(i=0;i<top;i++)
if(fwrite(&d[i], sizeof(girl),1,fp)!=1)
{
	 cout<<"n Error writing str!"; exit(1);
}
fclose(fp);
}

int menu()
{
int ch;
cout<<"n_________MENU______________________";
cout<<"n 1. Vavedi broq na ychasnitchkite";
cout<<"n 2. Izvedi spisuk na vsichki ychasnitchki";
cout<<"n 3. Izvedi spisuk na nepulnoletnite ychastnichki";
cout<<"n 4. Tarsene po visochina";
cout<<"n 5. Tarsene po teglo";
cout<<"n 6. Sahrani file";
cout<<"n 7. Izhod";
do
{
	 cout<<"n Izbor: ";
	 cin>>ch;
}
while(ch<1||ch>7);
	 return(ch);
}

int main()
{
int i;
cout<<"n Zarejdane ot filen";
load();
do
{
	 i=menu();
	 switch(i)
	 {
	 case 1: input();break;
	 case 2: list();break;
	 case 3: teen();break;
	 case 4: search(height);break;
	 case 5: search2(weight);break;
	 case 6: save();break;
	 }
}
		 while(i!=7);
return 0 ;
}

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

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

Ето кода, но липсват някой работи, а някой са излишни, просто ми каже какво трябва да променя

И не можеш да си я компилираш и да провериш?

То само като погледнеш е очевидно - търсенето да се промени от по тегло и височина на по номер и фамилия; тук има търсене на участнички под 18 на теб ти трябва под 20. Трябва още и най-младата.

cout<<"n EROR 404: File not found!n "; return;
:lol6:някой явно е писал твърде много за уеб...

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

Представа си нямам от програмиране :P

Надявам се, че не очакваш да ти го направим наготово. Това, че си нямаш представа от програмиране, изобщо не е оправдание. Учебници/сайтове/ръководства бол. Особено за тази елементарна програма.
  • 2 седмици по-късно...

Здравейте някой може ли да напише скрипта на тези две задачи?! Задача 1 : Даден е едномерен числов масив А с К елемента К=15 зареден със случайни числа. Намерете и отпечатайте минималният по стойност елемент в масива. Задача 2 : Даден е двумерен числов масив В с К реда и L стълба K=4 L=5. Намерете и отпечатайте произведението на нечетните стълбове в масива.

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

Здравейте някой може ли да напише скрипта на тези две задачи?!

Задача 1 :

Даден е едномерен числов масив А с К елемента К=15 зареден със случайни числа. Намерете и

отпечатайте минималният по стойност елемент в масива.

Задача 2 :

Даден е двумерен числов масив В с К реда и L стълба K=4 L=5. Намерете и отпечатайте произведението на нечетните стълбове в масива.

http://www.kaldata.com/forums/topic/188001-%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%BD%D0%BE-%D0%B4%D0%B0-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0%D0%BC%D0%B5-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89-%D0%B7%D0%B0-cc/

ДА бе аз да не уча за програмист ?

Значи не би трябвало да ви е проблем обективна оценка на знанията ви по предмета.
  • 1 месец по-късно...

трябва ми помощ ;( съжалявам че ви занимавам но ако някои може да ми помогне да се състави програма за обработка на масива А[8,10,B[10,15],C[12,20] съставен от цели числа в интервала от [0;999].програмата да извърши следните деиствия: - отпечатване на условието на задачата ; - отпечатване на имената на автора на програмата ; - въвеждане на входните данни ; - отпечатване на входните данни -намиране на средната аритметична стоиност на четните елементи; получаване от масива А[N,M] на нов масив AN[N,M] по следния начин:четните елементи се запазват а нечетните елементи се заместват със сумата на от цифрите им; -отпечатване на получените резултати след обработка а) и след обработка б) ето докъде съм стигнал :( #include <stdio.h> #include <stdlib.h> #define N 10 int main() { int A[8,10],B[10,15],C[12,10] ; int i,j; printf(" Avtor: ivan Nikolaev manolev n"); printf(" EMF, 18gr, TT, fak.N 051113014 n"); printf(" Uslovie: Da se systavi programa za obrabotka n"); printf(" na masiva A[8,10],B[10,15],C[12,20] sustaven ot celi chisla n"); printf(" v intervala [0;999]. Programata da izvyrshi n"); printf(" slednite deistviya: n"); printf(" - otpechatva uslovieto na zadachata n"); printf(" - otpechatva imenata na avtora na programata n"); printf(" - vyvejdane na vhodnite danni n"); printf(" - otpechatvane na vhodnite danni n"); printf(" - namirane na srednata aritmetichna stoinost na chetnite elementi; n"); printf(" poluchvane ot masiva A[N,M]Na nov masiv AN[N,M]po sledniq nachin: n"); printf(" chetnite elementi se zapazvat,a nechetnite n"); printf(" a ne chetnite elementi se zamestvat sus sumata ot cifrite im; n"); printf(" - otpechatvane na rezultatite sled obrabotka A) i B) n"); printf("Vavejdane navhodni danni: n"); printf("vavedete broi redove i stalbove: "); getchar(); system("pause"); }

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

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

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

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

...

(дотук никъде не се упоменава масив , но .... 'трябва'

...

Ако може да ми дадете някакви насоки ще съм ви благодарен. :(

Много по-просто е отколкото го изкарваш.

Декларираш си масива:

// Някъде горе:
#define MAX_TRIANGLES (20)
// Където сега дефинираш един триъгълник обявяваш масива:
_Triangle Triangles[MAX_TRIANGLES];
Разбиваш цикъла който вече си направил на 2 други:

първият е въвеждането данните в масива, вторият изчисляването и отпечатването им. Единственото, което трябва да направиш след това, е да обявиш, че ползваш i-тия елемент от масива, т.е. да ползваш Triangles навсякъде вместо Triangle. Това е всичко.

Дам правилно ... така проработи ... не дефинирах масива по този начин,но ... Благадаря много все пак , пропуснал съм очевидното ... *зацикляне* :)

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

:)

Радвам се. Защо обаче си триеш кода? Някой друг утре като има подобен проблем, може да се "заблуди" да прочете някоя от по-старите теми. Заблуди в кавички, защото никой не ги чете. 99% просто се регистрират, постват задачата и чакат решение.

Здравейте ! Уча във строителен ВУЗ и нямам познания по програмиране на С ++, но имам зададена курсова работа, от която ми зависи заверката по съответния предмет. Знам, че чакам наготово, но не смятам за в бъдеще да се занимавам с програмиране, а и това е единствения предмет в който е заложено то донякъде. Става въпрос за следната задача: - Дадени са едномерните масиви А(М) и В(М), съставени от реални числа. 1.1 Да се изведе масива С(М), който представлява сумата(разликата) от А и В . 1.2 Да се определи колко е скаларното произведение на А и В . Ако някой помогне ще съм благодарен .

Радвам се. Защо обаче си триеш кода? Някой друг утре като има подобен проблем, може да се "заблуди" да прочете някоя от по-старите теми. Заблуди в кавички, защото никой не ги чете. 99% просто се регистрират, постват задачата и чакат решение.

След като мине определен период от време,ще публикувам направо целия код + условието ... но не сега,ще поизчакам,за да не ми се наложи да правя нова задача :/
  • 3 седмици по-късно...

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

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

Да започнем със структурните нередности: Ползваш хедъри (и съответно функции/обекти/методи) едновременно на C и C++ - това е силно непрепоръчително. Не видях на кой от двата езика трябва да ти е задачата, но се придържай към него. В добавка, стандартните хедъри на C++ не се пишат с разширение, т.е. трябва да са:

#include<iostream>#include<fstream>
След това имената на обектите cin и cout са част от std. Така че или експлицитно го обявяваш като ги ползваш - std::cin, std::cout или след включените заглавни файлове декларираш че ползваш цялото пространство std:
using namespace std;
иначе няма да ти се компилира (освен ако не ползваш много гадно IDE/компилатор, който включва изотзад същото.)   Сега защо не ти работят операциите с файлове - имаш два проблема  - първия тривиален - защо пишеш във един файл а четеш друг :D А втория е по сериозен  - ами би трябвало да се сетиш много лесно, ако повториш "на ръка", каквото караш компилатора. Подсказващи въпроси (двата засягат различни проблеми които имаш) - Какво прави fopen в режим 'w'? На кое място във файла, ще почне да се чете/пише веднага след отваряне?

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

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

 

Относно библютеките , при мен въвят само с '.h' а  "using namespace std;"- не ми е понятна употребата все още,на MSVC++ 6.0 програмта се изпълнява по начина по който я пиша,не съм свикнал с употребата на друг синтаксис и се обърквам.

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

Нещата, които ти казах, са само силно пожелателни. Употребата и съобразяването с 14 годишна среда/компилатор си е твой избор. Отделно това по никакъв начин не променя факта, че ненужно смесваш два езика. Но както казах това ти си го решаваш. Сега за грешките и съответно въпросите. Какво записваш във файла? А какво четеш? Форматиращият стринг за double какъв е? А ти него ли ползваш?

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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