- •1)Дана строка символов. Написать фрагмент программы, считающий и выводящий на экран максимальное количество идущих подряд пробелов.
- •7)Написать фрагмент программы, подсчитывающий количество нулевых элементов в массиве чисел. Оформить как функцию, принимающую указатель и целое, и возвращающую целое.
- •8) Написать фрагмент программы, удаляющий из одномерного массива целых чисел все вхождения максимального и минимального элементов.
- •11)Написать фрагмент программы, заменяющий в одномерном массиве целых чисел максимальное значение средним арифметическим его элементов, находящихся на нечетных позициях.
- •12)Написать функцию, принимающую в качестве параметров два целых числа и возвращающую наибольшее из них.
- •9)Данные о студентах (фио, средний балл) хранятся в массиве структур. Написать фрагмент программы, печатающий на экране ведомость, упорядочив вывод в порядке убывания среднего балла.
- •10)Написать фрагмент программы, заменяющий в произвольной квадратной матрице строку с минимальным элементом матрицы нулями.
- •13)Написать функцию, принимающую в качестве параметров три целых числа и возвращающую наибольшее из них.
- •14)Данные о товарах (наименование, цена) хранятся в массиве структур. Написать фрагмент программы, выводящий на экран прайс-лист в порядке возрастания цены (от дешевого к дорогому).
- •20)Напишите программу, которая вычисляет площадь треугольника, если известны его высота и основание (высоту и основание запросить с клавиатуры).
- •22)Написать фрагмент программы, находящий 5 наибольших элементов массива целых чисел.
- •21)Данные о книгах хранятся в массиве структур (автор, название, количество страниц). Написать фрагмент программы, выводящий на экран данные о книгах, имеющих более 300 страниц.
- •24)Написать фрагмент программы, находящий в одномерном массиве, состоящем из n вещественных элементов, среднее значение всех элементов и заменяющий им наименьший элемент.
- •26)Написать фрагмент программы, подсчитывающий в массиве целых чисел, размером n, максимальное количество идущих подряд нулевых элементов.
20)Напишите программу, которая вычисляет площадь треугольника, если известны его высота и основание (высоту и основание запросить с клавиатуры).
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main( void )
{
setlocale( LC_ALL, "rus" );
int nHight, bOsn;
printf( "Введите высоту: -> " );
scanf( "%i", &nHight );
printf( "Введите основание: -> " );
scanf( "%i", &bOsn );
float S = (nHight * bOsn)/(float)2;
printf( "Площадь треугольника: %f\n", S );
system( "pause" );
return(0);
}
22)Написать фрагмент программы, находящий 5 наибольших элементов массива целых чисел.
void PrintMaxElem( int *mas, int N )
{
int buf;
for( int i = 0; i < N; i++ ) // сортирую
for( int j = i; j < N; j++ )
{
if( mas[i] < mas[j] )
{
buf = mas[i];
mas[i] = mas[j];
mas[j] = buf;
}
}
if( N > 5 )
N = 5;
for( int i = 0; i < N; i++ )
printf( "%i ", mas[i] );
}
21)Данные о книгах хранятся в массиве структур (автор, название, количество страниц). Написать фрагмент программы, выводящий на экран данные о книгах, имеющих более 300 страниц.
// привел полный исходник программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
struct Book
{
char szAutor[50];
char szName[50];
int CountStr;
};
void Execute( Book *mas, int N )
{
float nSrednCena = 0;
int nCout = 0;
// сортировка
printf( "Книги:\n" );
for( int i = 0; i < N; i++ )
{
if( mas[i].CountStr > 300 )
{
printf( "%s\n", mas[i].szName );
printf( "%s\n", mas[i].szAutor );
printf( "%i\n", mas[i].CountStr );
printf( "-----------------\n" );
}
}
system( "pause" );
}
int main( void )
{
setlocale( LC_ALL, "rus" );
// тут просто вношу данные
Book mas[3];
strcpy( mas[0].szAutor, "Шилд Г." );
strcpy( mas[0].szName, "C++" );
mas[0].CountStr = 500;
strcpy( mas[1].szAutor, "Побегайло А." );
strcpy( mas[1].szName, "Системное прораммирование в Windows" );
mas[1].CountStr = 1000;
strcpy( mas[2].szAutor, "Подбельский" );
strcpy( mas[2].szName, "Программирование на языке C" );
mas[2].CountStr = 200;
// обработка
Execute( mas, 3 );
return(0);
}
27)Написать фрагмент программы, выводящий на экран элементы массива целых чисел, превышающих среднее арифметическое всех элементов. Поиск среднего арифметического оформить в виде отдельной функции.
// привел полный исходник программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
float SrednArifm( int *mas, int N )
{
float fSredn = 0;
for( int i = 0; i < N; i++ )
{
fSredn += mas[i];
}
fSredn /= (float)N;
return( fSredn );
}
int main( void )
{
setlocale( LC_ALL, "rus" );
const int N = 7;
int mas[N] = { 1, 0, 0, 7, 0, 9, 5 };
float fSrdn = SrednArifm( mas, N );
printf( "Среднее арифметическое: %f\n", fSrdn );
for( int i = 0; i < N; i++ )
{
if( mas[i] > fSrdn )
printf( "%i ", mas[i] );
}
printf( "\n" );
system( "pause" );
return(0);
}
23)Данные об автомобилях хранятся в массиве структур (марка, мощность). Написать фрагмент программы, выводящий на экран величину транспортного налога из расчета 15 руб за 1 л.с., если мощность двигателя не превышает 100 л.с. и 25 руб. за л.с. для автомобилей мощностью 100 л.с. и выше. Вывод упорядочить в алфавитном порядке по маркам автомобилей.
// привел полный исходник программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
struct Car
{
char szMarka[50];
int Moshnost;
};
void Execute( Car *mas, int N )
{
float nSrednCena = 0;
int nCout = 0;
// сортировка
printf( "Книги:\n" );
for( int i = 0; i < N; i++ )
{
printf( "%s\n", mas[i].szMarka );
printf( "%i\n", mas[i].Moshnost );
printf( "Налог: " );
if( mas[i].Moshnost <= 100 )
printf( "%i\n", mas[i].Moshnost * 15 );
else
printf( "%i\n", mas[i].Moshnost * 25 );
printf( "-----------------\n" );
}
system( "pause" );
}
int main( void )
{
setlocale( LC_ALL, "rus" );
// тут просто вношу данные
Car mas[3];
strcpy( mas[0].szMarka, "Мерс" );
mas[0].Moshnost = 150;
strcpy( mas[1].szMarka, "Ферари" );
mas[1].Moshnost = 50;
strcpy( mas[2].szMarka, "Запор" );
mas[2].Moshnost = 350;
// обработка
Execute( mas, 3 );
return(0);
}
