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

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

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

     

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

Здравейте, имам затруднения в решението на една задача на C++

 

Данни имат следната структура: Име на дете, ЕГН, Пол, Възраст, на която е правено последното измерване за тегло. Да се състави програма която въвежда данни за деца и извежда цялата информация , и сортира данните в системата по име на дете.

 

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

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

Здравейте, имам затруднения в решението на една задача на C++

Данни имат следната структура: Име на дете, ЕГН, Пол, Възраст, на която е правено последното измерване за тегло. Да се състави програма която въвежда данни за деца и извежда цялата информация , и сортира данните в системата по име на дете.

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

Ние ще бъдем благодарни ако все пак приложите направеното досега по въпроса. Не друго, но сме малко лайкове и ни трябва помощ да видим с какви програмни entity-та ще трябва да се борави. Все пак става дума за език с донякъде контекстно - зависима граматика и всяка помощ ще ни е полезна :).

Да, голяма проблемация сега стана с тоя третия пол дето го няма предвиден в ЕГН-то

Ще му се намери решение - примерно няма да се гледа само четността на последната цифра, а остатъка на сумата му с числото от каталога при делене на 3. 1-ца за момиче, 2-ка за момче и 0-ла за друго :). И така 10 пола може да покрием (теоретично, разбира се ). Редактирано от soundtracker (преглед на промените)
Линк към коментара
Сподели в други сайтове

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

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

здравейте,

имам следната задача:

В таблица се съдържат имената ЕГН -та и оценките по 10 дисциплини на студенти в дадена група. Да се състави програма която извежда на екран списък, съдържащи имената общия успех на студенти,които имат поне една отлична оценкa Благодаря предварително за отделеното време

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

здравейте,

имам следната задача:

В таблица се съдържат имената ЕГН -та и оценките по 10 дисциплини на студенти в дадена група. Да се състави програма която извежда на екран списък, съдържащи имената общия успех на студенти,които имат поне една отлична оценкa Благодаря предварително за отделеното време

 

1. Съставяш тип структура, с данни - име стринг, ЕГН цяло число, и още  11 реални числа тип float за оценките и общия успех.

2. Декларираш масив от структури, от типа съставен в точка 1, с толкова елемента, колкото са студентите в групата

3. Организираш цикъл в цикъл за въвеждане на данните, така щото вътрешния цикъл да обхожда данните на един студент, а външния да обхожда студентите.

4. Организираш цикъл в цикъл, за изчисляване на общия успех като средно аритметично от 10те въведени оценки и да го записва в съответното място за общ успех. Вътрешния цикъл да изчислява успеха като средно аритметично и да го записва, а външния да обхожда студентите.

5. Организираш цикъл в цикъл за извеждане на студентите с поне една отлична оценка, така че вътрешния цикъл да сравнява една по една оценките с числото 6, (или дали е в интервала между 5.5 и 6, ако това се иска) и ако има такава оценка, да извежда на екрана данните на съответния студент. А външния цикъл да обхожда студентите.

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

 ЕГН цяло число

и то 64 битово цяло число. :D

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

1. Съставяш тип структура, с данни - име стринг, ЕГН цяло число, и още  11 реални числа тип float за оценките и общия успех.

2. Декларираш масив от структури, от типа съставен в точка 1, с толкова елемента, колкото са студентите в групата

3. Организираш цикъл в цикъл за въвеждане на данните, така щото вътрешния цикъл да обхожда данните на един студент, а външния да обхожда студентите.

4. Организираш цикъл в цикъл, за изчисляване на общия успех като средно аритметично от 10те въведени оценки и да го записва в съответното място за общ успех. Вътрешния цикъл да изчислява успеха като средно аритметично и да го записва, а външния да обхожда студентите.

5. Организираш цикъл в цикъл за извеждане на студентите с поне една отлична оценка, така че вътрешния цикъл да сравнява една по една оценките с числото 6, (или дали е в интервала между 5.5 и 6, ако това се иска) и ако има такава оценка, да извежда на екрана данните на съответния студент. А външния цикъл да обхожда студентите.

здравейте, дали е възможно да го разпишите:(

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

здравейте, дали е възможно да го разпишите :(

 

Не е прието. Опитай да направиш нещо и го публикувай, колегите ще ти помогнат.

 

ЕГНто трябва да е 64 битово цяло число, както ме поправи колегата.

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

Не е прието. Опитай да направиш нещо и го публикувай, колегите ще ти помогнат.

 

ЕГНто трябва да е 64 битово цяло число, както ме поправи колегата.

 

А най-добре string, защото има ЕГН-та, които почват с нула.

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

имената ... да са масиви от символи, а не стрингове

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

#include <iostream>
#include <string>

const int gradesCount = 10;
const int studentsCount = 20;

struct Student {
	string name;
	string EGN;
	float grades[10];	
};

int main() {
	Student students[studentsCount];
	
/// ... въвеждане на данните за всеки студент ...

	for (int i = 0; i < studentsCount; i++) { // за всеки студент
		bool hasExcellentMark = false;
		float gradesSum = 0.0f;
		float currentGrade = 0.0f;
		
		for (int j = 0; j < gradesCount; j++) { // за всяка оценка
			currentGrade = students[i].grades[j];
			if (currentGrade >= 5.50) {
				hasExcellentMark = true;
			}
			gradesSum += currentGrade;				
		}
		
		if (hasExcellentMark) { // ако има отлична оценка го извеждаме на екрана
			cout << "Name: " << students[i].name << 
			     << "GPA: " << gradesSum / gradesCount << endl; // приемаме, че сборът на оценките няма как да е 0.
		}
	}
	
	return 0;
}

Ето едно "баламско" решение. Пропуснал съм въвеждането на данните, защото то се прави със същия цикъл.

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

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

Здравейте на всички.1 курс съм по АИУТ и имам  курсова по ПИК, но ми е трудно да я направя,ще бъда благодарен ако ми помогнете.Задачата е

ВЪВЕДЕТЕ ПРОИЗВОЛНИ РЕАЛНИ СТОЙНОСТИ ЗА ЕДНОМЕРНИЯ МАСИВ AL(M),БРОЯТ М СЕ ВЪВЕЖДА ПРЕДВАРИТЕЛНО И Е 10<М>50.

НАМЕРЕТЕ МИНИМАЛНИЯ И МАКСИМАЛНИЯ  ЕЛЕМЕНТИ И ТЕХНИТЕ ИНДЕКСИ В МАСИВА.НА ЕЛЕМЕНТИТЕ ОТ МАСИВА AL ИЗЧЕСЛЕТЕ,

-СРЕДНОТО-АРЕТМАТИЧНАТА ИМ СТОЙНОСТ,АКО ИНДЕКСА НА MIN E СЛЕД MAX В МАСИВА .

-СУМАТА НА КВАДРАТИТЕ ИМ, АКО ИНДЕКСА НА MIN Е СЛЕД MAX В МАСИВА.

-СЪЗДАЙТЕ НОВ ЕДНОМЕРЕН МАСИВ POL,СЪДЪРЖАЩ САМО ТЕЗИ ЕЛЕМЕНТИ ОТ  AL,КОЙТО СЕ НАМИРА НА НЕЧЕТНИ ИНДЕКСИ И СА ПОЛОЖИТЕЛНИ.

ОТПЕЧАТАЙ МАСИВИТЕ,ВХОДНИЯ И ПОЛУЧЕНИЯ. ;(

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

Здравейте на всички.1 курс съм по АИУТ и имам  курсова по ПИК, но ми е трудно да я направя,ще бъда благодарен ако ми помогнете.Задачата е

ВЪВЕДЕТЕ ПРОИЗВОЛНИ РЕАЛНИ СТОЙНОСТИ ЗА ЕДНОМЕРНИЯ МАСИВ AL(M),БРОЯТ М СЕ ВЪВЕЖДА ПРЕДВАРИТЕЛНО И Е 10<М<50.

НАМЕРЕТЕ МИНИМАЛНИЯ И МАКСИМАЛНИЯ  ЕЛЕМЕНТИ И ТЕХНИТЕ ИНДЕКСИ В МАСИВА.НА ЕЛЕМЕНТИТЕ ОТ МАСИВА AL ИЗЧЕСЛЕТЕ,

-СРЕДНОТО-АРЕТМАТИЧНАТА ИМ СТОЙНОСТ,АКО ИНДЕКСА НА MIN E ПРЕДИ MAX .

-СУМАТА НА КВАДРАТИТЕ ИМ, АКО ИНДЕКСА НА MIN Е СЛЕД MAX В МАСИВА.

-СЪЗДАЙТЕ НОВ ЕДНОМЕРЕН МАСИВ POL,СЪДЪРЖАЩ САМО ТЕЗИ ЕЛЕМЕНТИ ОТ  AL,КОЙТО СЕ НАМИРА НА НЕЧЕТНИ ИНДЕКСИ И СА ПОЛОЖИТЕЛНИ.

ОТПЕЧАТАЙ МАСИВИТЕ,ВХОДНИЯ И ПОЛУЧЕНИЯ.

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

Туй 10<M>50 не е логично. Може би е 10<M<50

 

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

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

Можем да ти помогнем, но не очаквай да ти напишем курсовата.

С квото можете ще съм много благодарен,преподавателката не обеснява като хората а и иска бързо да я направим,ще съм благодаресн с квото можете да помогнете .

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

С квото можете ще съм много благодарен,преподавателката не обеснява като хората а и иска бързо да я направим,ще съм благодаресн с квото можете да помогнете .

#include <iostream>

void main()
{
	int m = 0;
	static bool warning = false;
	do
	{
		if (warning)
			std::cout << "You entered a bad value. Give it another go." << std::endl;
		std::cout << "Enter a value for m, where 10 < m < 50. " << std::endl;
		std::cout << "m = ";
		std::cin >> m;
		warning = true;
	} while ( !(m > 10 && m < 50) );

	double * values = new double[m];

	std::cout << "Your array of " << m << " elements is created. Please enter a value for each element:" << std::endl;

	int imin = -1, imax = -1;
	for (int i = 0; i < m; i++)
	{
		std::cout << "Element " << i << " = ";
		std::cin >> values[i];

		if (imin >= 0)
		{
			if (values[i] < values[imin]) imin = i;
		} 
		else imin = i;

		if (imax >= 0)
		{
			if (values[i] > values[imax]) imax = i;
		}
		else imax = i;
	}

	if (imin < imax)
	{
		double average = (values[imin] + values[imax]) / 2;
		std::cout << "The average of " << values[imin] << " and " << values[imax] << " is " << average << std::endl;
	}
	else if (imin > imax)
	{
		double ssum = values[imin] * values[imin] + values[imax] * values[imax];
		std::cout << "The sum of the squares of " << values[imin] << " and " << values[imax] << " is " << ssum << std::endl;
	}
	
	double * pol = new double[m / 2 + 1];
	int polsize = 0;
	for (int i = 1; i < m; i += 2)
	{
		if (values[i] > 0)
		{
			pol[polsize] = values[i];
			polsize++;
		}
	}

	std::cout << "AL:" << std::endl;
	for (int i = 0; i < m; i++)
	{
		std::cout << "Element " << i << ": " << values[i] << std::endl;
	}

	std::cout << "POL:" << std::endl;
	for (int i = 0; i < polsize; i++)
	{
		std::cout << "Element " << i << ": " << pol[i] << std::endl;
	}

	delete values, pol;
}
Линк към коментара
Сподели в други сайтове

златен си брат остава видя как да си направя блок схемата и обяснението :rolleyes:

само да попитам като я тестам ми изписва

Compiling...
go6oo.cpp
C:\MSDev98\Bin\go6oo.cpp(53) : error C2374: 'i' : redefinition; multiple initialization
        C:\MSDev98\Bin\go6oo.cpp(22) : see declaration of 'i'
C:\MSDev98\Bin\go6oo.cpp(63) : error C2374: 'i' : redefinition; multiple initialization
        C:\MSDev98\Bin\go6oo.cpp(22) : see declaration of 'i'
C:\MSDev98\Bin\go6oo.cpp(69) : error C2374: 'i' : redefinition; multiple initialization
        C:\MSDev98\Bin\go6oo.cpp(22) : see declaration of 'i'
Error executing cl.exe.
 
go6oo.exe - 3 error(s), 0 warning(s)
Редактирано от go6o8804 (преглед на промените)
Линк към коментара
Сподели в други сайтове

Декларираш променливата "i" на повече от едно място, в една и съща област на видимост КОЛЕГА КАЗАХА ЧЕ ТВА Е ГРЕШКАТА АМА КАК ДА Я ОПРАВЯ

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

Ined от университета,на нея работим.Направиха ми я програмата и по др начин и Там изписва пък compiling executing cl.exe. 44.exe-1 error(s),0 waring(s)

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

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

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

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

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

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

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

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

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

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

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

Информация

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