PDA

View Full Version : Спешно! Задачи по информатика...



Free_Hugs
03-09-2014, 16:51
Не знам дали раздела е правилен, но имам 3 задачи за домашно на масиви. Ако може някой да ми помогне ще съм му много благодарна :)

Задача 1. Да се напише програма, която въвежда n числа в масив. Програмата да извежда числото от масива, което е:
а) най-близко до средноаритметичното на всички числа в масива
б) най-близко до средноаритметичното на всички числа с четни индекси
в) най-близко до средноаритметичното на всички числа с нечетни индекси
г) разликата между най-голямото и най-малкото
д)второ по големина.

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

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

Kamikazeto
03-09-2014, 17:16
c++ ли?

saruhi
03-09-2014, 17:22
C?

Free_Hugs
03-09-2014, 17:34
Да С++

Kamikazeto
03-09-2014, 17:57
тц
Така, не съм я писал в компилатор, направо тук, не знам дали има синтактични грешки, това ти ще си видиш, след половин час ще я проверя за логически.

Free_Hugs
03-09-2014, 19:17
Благодаря ти много!

Kamikazeto
03-09-2014, 19:39
Така, тва е готовия код и бачка, сори за предишното беше пълно с бъгове, много съм ги забравил нещата трябва да си поприпомня. Иначе нп.
#include <iostream>
using namespace std;
int main (){
int n,sr,srn,min,max,razlika,sredno=0,max1,a,tmp,b;
cin>>n;
int masiv[n];
for(int i=0;i<n;i++){
cin>>masiv[i];
sredno=sredno+masiv[i];
}
sredno=sredno/n;
for(int i=0;i<n;i++){
sr=masiv[i]-sredno;
if(sr<0) sr=-sr;
if(i==0) srn=sr;
if(sr<srn) {
srn=sr;
a=i;
}
}
cout<<"a)"<<masiv[a]<<endl;
for(int i=0;i<n;i+=2){
sr=masiv[i]-sredno;
if(sr<0) sr=-sr;
if(i==0) srn=sr;
if(sr<srn) {
srn=sr;
a=i;
}
}
cout<<"b)"<<masiv[a]<<endl;
for(int i=1;i<n;i+=2){
sr=masiv[i]-sredno;
if(sr<0) sr=-sr;
if(i==0) srn=sr;
if(sr<srn) srn=sr;
}
cout<<"v)"<<srn<<endl;
min=masiv[0];
max=min;
for(int i=0;i<n;i++){
if (masiv[i]<min)min=masiv[i];
if (masiv[i]>max)max=masiv[i];
}
razlika=max-min;
cout<<"Razlika: "<<razlika<<endl;
min=masiv[0];
for (int i = 0; i < n -1; i++){

for (int j = i+1; j < 5; j++)

if (masiv[i] > masiv[j])
{
tmp = masiv[i];
masiv[i] = masiv[j];
masiv[j] = tmp;
}

}
cout<<"Second max: "<<masiv[n-2]<<endl;
return 0;
}