Задача Дадени са следните декларации: int a[200]; double s; char m[10][10]; struct student { char m name[60]



Дата03.01.2017
Размер31.74 Kb.
#11592
ТипЗадача
Програмиране 2

Изпитен билет 4

ИМЕ:____________________________________________________
Ф№______________ КУРС__________ СПЕЦИАЛНОСТ_________________
Задача 1. Дадени са следните декларации:

int a[200];

double s;

char m[10][10];

struct student

{

char m_name[60];



int m_fnom,m_kurs;

double m_mark;

} st;

Какви са резултатите от изпълнението на следните функции:



sizeof(a) sizeof(s) sizeof(m) sizeof(st)
Задача 2. В дадена програма се налага да се обработва текстова величина, за която не се знае предварително колко знака съдържа. Какъв трябва да бъде типът на променливата, в която ще се съхранява тази стойност. Напишете декларацията на променливата.

Задача 3. Дадена е следната декларация на глобални променливи:

int a[100][100],n;

Напишете функция, която приема като параметри четири цели числа r1,c1,r2,c2 и намира максималния от всички елементи на матрицата a, разположени между редовете r1 и r2 и колоните c1 и c2.





Задача 5. Следната рекурсивна функция намира сбора на четните цифри на параметъра си. Променете функцията така, че да пресмята произведението на нечетните цифри на параметъра си.

int countSum(int n)

{

int r;



if(n==0)return 0;

r=countSum(n/10);



if ((n%10)%2==0)return r+n%10;

return r;

}

Задача 6. Следната функция трябва да разменя стойностите на параметрите си. При стартирането и с параметри a и b се оказва, че стойностите на двете променливи са останали същите. Каква е причината за неуспешното действие на функцията? Коригирайте я така, че да реализира промените.


int swapNumber(int x, int y)

{

int z=x;

x=y;

y=z;


}


Дадена е декларацията на следната структура:

struct student

{

char m_name[60];

int m_fnom;

int m_kurs;

char m_spec[60];

double m_mark;

void read(),print();

};
Задача 7.Напишете реализациите на функциите read и print, които съответно въвеждат и извеждат стойност на променлива от тип student. Приемете, че реализациите се описват извън декларацията на структурата.



Задача 8. В декларацията на структурата заменете m_mark с масив от оценки по всички дисциплини и допълнете в декларацията на структурата още една компонента, която съдържа броя на дисциплините, по които студентът е получил оценки.

Допълнете декларацията на структурата с функция, която връща средния успех на студента.


Напишете реализацията на последната функция.

Задача 9. Дадена е следната функция:

void Add()

{

FILE*f;


student st;

st.read();

if ((f=fopen("student.dat","w"))==NULL) cout << "ERROR\n";

else


{

fwrite(&st,sizeof(st),1,f);

fclose(f);

}

}



Която трябва да добавя нов студент във файла student.dat. при опит за изпълнение, се оказва, че във файла винаги остава само последния добавен студент. Каква е причината за некоректното поведение на функцията? Коригирайте я така, че да извършва правилно промените.
Задача 10. Във файла student.dat са записани данните за студенти от описания по-горе тип. Напишете функция, която създава нов файл studspec.dat, в който по въведена от клавиатурата специалност се записват данните за всички студенти от тази специалност.
Каталог: tadmin -> upload -> storage
storage -> Литература на факта. Аналитизъм. Интерпретативни стратегии. Въпроси и задачи
storage -> Лекция №2 Същност на цифровите изображения Въпрос. Основни положения от теория на сигналите
storage -> Лекция 5 система за вторична радиолокация
storage -> Толерантност и етничност в медийния дискурс
storage -> Ethnicity and tolerance in media discourse revisited Desislava St. Cheshmedzhieva-Stoycheva abstract
storage -> Тест №1 Отбележете невярното твърдение за подчертаните думи
storage -> Лекции по Въведение в статистиката
storage -> Търсене на живот във вселената увод
storage -> Еп. Константинови четения – 2010 г някои аспекти на концептуализация на богатството в руски и турски език


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница