- •1)Дана строка символов. Написать фрагмент программы, считающий и выводящий на экран максимальное количество идущих подряд пробелов.
- •7)Написать фрагмент программы, подсчитывающий количество нулевых элементов в массиве чисел. Оформить как функцию, принимающую указатель и целое, и возвращающую целое.
- •8) Написать фрагмент программы, удаляющий из одномерного массива целых чисел все вхождения максимального и минимального элементов.
- •11)Написать фрагмент программы, заменяющий в одномерном массиве целых чисел максимальное значение средним арифметическим его элементов, находящихся на нечетных позициях.
- •12)Написать функцию, принимающую в качестве параметров два целых числа и возвращающую наибольшее из них.
- •9)Данные о студентах (фио, средний балл) хранятся в массиве структур. Написать фрагмент программы, печатающий на экране ведомость, упорядочив вывод в порядке убывания среднего балла.
- •10)Написать фрагмент программы, заменяющий в произвольной квадратной матрице строку с минимальным элементом матрицы нулями.
- •13)Написать функцию, принимающую в качестве параметров три целых числа и возвращающую наибольшее из них.
- •14)Данные о товарах (наименование, цена) хранятся в массиве структур. Написать фрагмент программы, выводящий на экран прайс-лист в порядке возрастания цены (от дешевого к дорогому).
- •20)Напишите программу, которая вычисляет площадь треугольника, если известны его высота и основание (высоту и основание запросить с клавиатуры).
- •22)Написать фрагмент программы, находящий 5 наибольших элементов массива целых чисел.
- •21)Данные о книгах хранятся в массиве структур (автор, название, количество страниц). Написать фрагмент программы, выводящий на экран данные о книгах, имеющих более 300 страниц.
- •24)Написать фрагмент программы, находящий в одномерном массиве, состоящем из n вещественных элементов, среднее значение всех элементов и заменяющий им наименьший элемент.
- •26)Написать фрагмент программы, подсчитывающий в массиве целых чисел, размером n, максимальное количество идущих подряд нулевых элементов.
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);
}
