Jump to content

Моля за помощ за две C++ програмки


Препоръчан пост

Здравейте,

тъй като съм още новак в С++, ще ви помоля за малко помощ относно 2 задачки.

 

Зад1.: Да се въведат оценките на n ученика ( 4 < n < 8 ) по пет учебни предмета, да се запишат в масив и да се намери средния успех, броя на шестиците и най-високата оценка за всеки от учениците.

 

Зад2.: Да се напише програма, която въвежда от клавиатурата два двумерни масива всеки с по 3 реда и 6 колони, съдържащи цели числа и добавя към всеки елемент на всеки от масивите сбора от индексите му. Да се изведат така получените масиви на екрана. Да се намери най-малкото число във всеки от масивите и да се изведе на екрана.

 

:help: :)

Link to comment
Сподели другаде

Първата я направих. Ето кода :)

 

#include <iostream.h>
#include <conio.h>
#define MIN 4
#define MAX 8
int main(int argc, char* argv[])
{
int number;
int marks[8][5];
double average[8]={0,0,0,0,0,0,0,0};
int sixes[8]={0,0,0,0,0,0,0,0};
int maxMark[8]={0,0,0,0,0,0,0,0};
cout << "Enter number of students:";
cin >> number;
//	cout<<"The number is "<<number<<"...";
if(number<=MIN || number>=MAX)
{
	cout << "Error! Number of students must be between " <<MIN <<" and " <<MAX<<"!";
	cout <<  "\nPress any key to exit...";
	getch();
	return 1;
}
for(int i=1;i<=number;i++)
{
	for(int g=1;g<=5;g++)
	{
		cout<<"Enter mark "<<g<<" for student "<<i<<": ";
		cin>>marks[i-1][g-1];
		if (marks[i-1][g-1]<2 || marks[i-1][g-1]>6)
		{cout<<"Error - Mark must be between 2 and 6!"
			g--;
			continue;
		}

	}
}
// Find average mark + sixes + maxMark
for(int i=1;i<=number;i++)
{
	for(int g=1;g<=5;g++)
	{
		average[i-1]+=marks[i-1][g-1];
		if(marks[i-1][g-1]==6)
			sixes[i-1]++;
		if(maxMark[i-1]<marks[i-1][g-1])
			maxMark[i-1]=marks[i-1][g-1];
	}
	average[i-1]=average[i-1]/5;
}
cout<<"-----------------------"<<endl;
for(int i=1;i<=number;i++)
	cout<<"Average mark for student "<<i<<" is "<<average[i-1]<<endl;
cout<<"-----------------------"<<endl;
for(int i=1;i<=number;i++)
	cout<<"Student "<<i<<" has "<<sixes[i-1] << " 6 marks."<<endl;
cout<<"-----------------------"<<endl;
for(int i=1;i<=number;i++)
	cout<<"Student "<<i<<" max mark is "<<maxMark[i-1]<<"."<<endl;

cout<<"Press any key to exit...";
getch();
return 0;
}

 

 

Ето и втората :)

 

#include <iostream.h>
#include <conio.h>


int main(int argc, char* argv[])
{

int i,g;
int masiv1[3][6];
int masiv2[3][6];
int masiv1_min,masiv2_min;
for(i=0;i<3;i++)	
	for(g=0;g<6;g++)
	{
		cout<<"Enter array 1 column "<<i<<" row "<<g<<": ";
		cin>>masiv1[i][g];	
	}

cout<<"--------------"<<endl;
for(i=0;i<3;i++)	
	for(g=0;g<6;g++)
	{
		cout<<"Enter array 2 column "<<i<<" row "<<g<<": ";
		cin>>masiv2[i][g];	
	}

cout<<"--------------"<<endl;
// Add indexes.
for(i=0;i<3;i++)	
	for(g=0;g<6;g++)
	{
		masiv1[i][g]+=i+g;
		masiv2[i][g]+=i+g;
	}



// Show array1
cout<<"[Array 1]"<<endl;
for(i=0;i<3;i++)
{
	for(g=0;g<6;g++)
	{
		cout<<"["<<i<<"]["<<g<<"] = "<<masiv1[i][g];
		if(g!=5)
			cout<<", ";

	}
	cout<<endl;
}	
// Show array2
cout<<"[Array 2]"<<endl;
for(i=0;i<3;i++)
{
	for(g=0;g<6;g++)
	{
		cout<<"["<<i<<"]["<<g<<"] = "<<masiv2[i][g];
		if(g!=5)
			cout<<", ";

	}
	cout<<endl;
}	
cout<<"--------------"<<endl;
// Find and show min values
masiv1_min=masiv1[0][0];
masiv2_min=masiv2[0][0];
for(i=0;i<3;i++)	
	for(g=0;g<6;g++)
	{
		if(masiv1_min>masiv1[i][g])
			masiv1_min=masiv1[i][g];

		if(masiv2_min>masiv2[i][g])
			masiv2_min=masiv2[i][g];
	}
cout<<"Array 1 min value is " <<masiv1_min<<endl;
cout<<"Array 2 min value is " <<masiv2_min<<endl;	
getch();
return 0;
}

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...