Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_po_PYaVU_1.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
48.94 Кб
Скачать

24)Написать фрагмент программы, находящий в одномерном массиве, состоящем из n вещественных элементов, среднее значение всех элементов и заменяющий им наименьший элемент.

void ExecuteMas( float *mas, int N )

{

// среднее ищу

float fSredn = 0;

for( int i = 0; i < N; i++ )

fSredn += mas[i];

fSredn /= (float)N;

// ищу минимальный элемент

int nMinIndex = 0;

for( int i = 0; i < N; i++ )

if( mas[i] < mas[nMinIndex] )

nMinIndex = i;

mas[nMinIndex] = fSredn;

// вывожу

for( int i = 0; i < N; i++ )

printf( "%f ", mas[i] );

}

25)Данные о продуктах хранятся в массиве структур (наименование, цена, срок годности в сутках). Написать фрагмент программы, выводящий на экран самый дорогой товар, срок годности которого не превышает 7 суток.

// привел полный исходник программы

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

#include <string.h>

struct Product

{

char szName[30];

float fCena;

int Godnost;

};

void Execute( Product *mas, int N )

{

float nSrednCena = 0;

int nCout = 0;

printf( "Товар:\n" );

float fMaxCena = 0;

int nIndex = 0;

for( int i = 0; i < N; i++ )

{

if( mas[i].Godnost <= 7 )

{

if( fMaxCena == 0 )

{

fMaxCena = mas[i].fCena;

nIndex = i;

}

if( mas[i].fCena > fMaxCena )

nIndex = i;

}

}

if( fMaxCena == 0 )

printf( "Такого товара нет!\n" );

else

{

printf( "Наименование: %s\n", mas[nIndex].szName );

printf( "Цена: %f\n", mas[nIndex].fCena );

printf( "Срок годности: %i\n", mas[nIndex].Godnost );

}

system( "pause" );

}

int main( void )

{

setlocale( LC_ALL, "rus" );

// тут просто вношу данные

Product mas[3];

strcpy( mas[0].szName, "сникерс" );

mas[0].Godnost = 2;

mas[0].fCena = 35;

strcpy( mas[1].szName, "Твикс" );

mas[1].Godnost = 19;

mas[1].fCena = 32;

strcpy( mas[2].szName, "Баунти" );

mas[2].Godnost = 5;

mas[2].fCena = 50;

// обработка

Execute( mas, 3 );

return(0);

}

26)Написать фрагмент программы, подсчитывающий в массиве целых чисел, размером n, максимальное количество идущих подряд нулевых элементов.

// Функция возвращает число наибольшего колличества подряд идущих нулей

int ZeroCountMas( int *mas, int N )

{

int nMaxZeroCount = 0;

int nZeroCount = 0;

for( int i = 0; i < N; i++ )

{

if( mas[i] == 0 )

nZeroCount++;

else

{

if( nZeroCount > nMaxZeroCount )

nMaxZeroCount = nZeroCount;

nZeroCount = 0;

}

}

return( nMaxZeroCount );

}

28)Данные о жильцах дома и задолженности по ЖКХ (ФИО, № квартиры, сумма задолженности) хранятся в виде массива структур. Написать фрагмент программы, печатающий ведомость злостных неплательщиков в порядке убывания задолженности. Злостным считать неплательщика с долгом от 10 тыс. рублей.

// привел полный исходник программы

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

#include <string.h>

struct Data

{

char szFIO[80];

int nNumerRoom;

float fDlog;

};

void Execute( Data *mas, int N )

{

float nSrednCena = 0;

int nCout = 0;

// сортировка

for( int i = 0; i < N; i++ )

for( int j = 0; j < N; j++ )

if( mas[i].fDlog > mas[j].fDlog )

{

Data buf = mas[i];

mas[i] = mas[j];

mas[j] = buf;

}

for( int i = 0; i < N; i++ )

{

if( mas[i].fDlog > 10000 )

{

printf( "%s\n", mas[i].szFIO );

printf( "%i\n", mas[i].nNumerRoom );

printf( "%f\n", mas[i].fDlog );

printf( "-------------\n" );

}

}

system( "pause" );

}

int main( void )

{

setlocale( LC_ALL, "rus" );

// тут просто вношу данные

Data mas[3];

strcpy( mas[0].szFIO, "Петров Петр Петрович" );

mas[0].nNumerRoom = 2;

mas[0].fDlog = 3000;

strcpy( mas[1].szFIO, "Иванов Иван Иванович" );

mas[1].nNumerRoom = 5;

mas[1].fDlog = 300000;

strcpy( mas[2].szFIO, "Козлов Козел Кощлович" );

mas[2].nNumerRoom = 90;

mas[2].fDlog = 1000;

// обработка

Execute( mas, 3 );

return(0);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]