- •1)Дана строка символов. Написать фрагмент программы, считающий и выводящий на экран максимальное количество идущих подряд пробелов.
- •7)Написать фрагмент программы, подсчитывающий количество нулевых элементов в массиве чисел. Оформить как функцию, принимающую указатель и целое, и возвращающую целое.
- •8) Написать фрагмент программы, удаляющий из одномерного массива целых чисел все вхождения максимального и минимального элементов.
- •11)Написать фрагмент программы, заменяющий в одномерном массиве целых чисел максимальное значение средним арифметическим его элементов, находящихся на нечетных позициях.
- •12)Написать функцию, принимающую в качестве параметров два целых числа и возвращающую наибольшее из них.
- •9)Данные о студентах (фио, средний балл) хранятся в массиве структур. Написать фрагмент программы, печатающий на экране ведомость, упорядочив вывод в порядке убывания среднего балла.
- •10)Написать фрагмент программы, заменяющий в произвольной квадратной матрице строку с минимальным элементом матрицы нулями.
- •13)Написать функцию, принимающую в качестве параметров три целых числа и возвращающую наибольшее из них.
- •14)Данные о товарах (наименование, цена) хранятся в массиве структур. Написать фрагмент программы, выводящий на экран прайс-лист в порядке возрастания цены (от дешевого к дорогому).
- •20)Напишите программу, которая вычисляет площадь треугольника, если известны его высота и основание (высоту и основание запросить с клавиатуры).
- •22)Написать фрагмент программы, находящий 5 наибольших элементов массива целых чисел.
- •21)Данные о книгах хранятся в массиве структур (автор, название, количество страниц). Написать фрагмент программы, выводящий на экран данные о книгах, имеющих более 300 страниц.
- •24)Написать фрагмент программы, находящий в одномерном массиве, состоящем из n вещественных элементов, среднее значение всех элементов и заменяющий им наименьший элемент.
- •26)Написать фрагмент программы, подсчитывающий в массиве целых чисел, размером n, максимальное количество идущих подряд нулевых элементов.
10)Написать фрагмент программы, заменяющий в произвольной квадратной матрице строку с минимальным элементом матрицы нулями.
void ExecMatrix( int mas[3][3], int N )
{
int nMinElem = mas[0][0];
int nNumStr = 0;
for( int i = 0; i < N; i++ )
for( int j = 0; j < N; j++ )
if( nMinElem > mas[i][j] )
{
nMinElem = mas[i][j];
nNumStr = i;
}
for( int j = 0; j < N; j++ )
mas[nNumStr][j] = 0;
}
13)Написать функцию, принимающую в качестве параметров три целых числа и возвращающую наибольшее из них.
int ReturnMaxParam( int A, int B, int C )
{
int n = (A>B)?(A):(B);
return( (C>n)?(C):(n) );
}
14)Данные о товарах (наименование, цена) хранятся в массиве структур. Написать фрагмент программы, выводящий на экран прайс-лист в порядке возрастания цены (от дешевого к дорогому).
// привел полный исходник программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
struct Tovar
{
char szName[50];
float cena;
};
void Execute( Tovar *mas, int N )
{
float nSrednCena = 0;
int nCout = 0;
// сортировка
for( int i = 0; i < N; i++ )
for( int j = i; j < N; j++ )
{
if( mas[i].cena > mas[j].cena )
{
Tovar buf = mas[i];
mas[i] = mas[j];
mas[j] = buf;
}
}
printf( "Прайс лист:\n" );
for( int i = 0; i < N; i++ )
{
printf( "%s\n", mas[i].szName );
printf( "%f\n", mas[i].cena );
printf( "-----------------\n" );
}
system( "pause" );
}
int main( void )
{
setlocale( LC_ALL, "rus" );
// тут просто вношу данные
Tovar mas[3];
strcpy( mas[0].szName, "Майонез" );
mas[0].cena = 50;
mas[1].cena = 100;
strcpy( mas[1].szName, "кетчуп" );
mas[2].cena = 10;
strcpy( mas[2].szName, "Мясо" );
// обработка
Execute( mas, 3 );
return(0);
}
15)Оформить в виде функции фрагмент программы, меняющий местами максимальный и минимальный элементы целочисленного массива. Массив передать в функцию через параметры функции.
void MasExec( int *mas, int N )
{
int nMaxIndex = 0, nMinIndex = 0;
for( int i = 0; i < N; i++ ) // поиск минимального и максимального элемента
{
if( mas[i] > mas[nMaxIndex] )
nMaxIndex = i;
if( mas[i] < mas[nMinIndex] )
nMinIndex = i;
}
// обмениваю
int nBuf = mas[nMaxIndex];
mas[nMaxIndex] = mas[nMinIndex];
mas[nMinIndex] = nBuf;
}
16)Написать фрагмент программы, печатающий на экране среднее арифметическое элементов побочной диагонали квадратной матрицы.
void ExecMatrix( int **mas, int N )
{
float nSredn = 0;
for( int i = 0, j = N - 1; (i < N) && (j>=0); i++, j-- )
nSredn += mas[i][j];
nSredn /= (float)N;
printf( "Среденее аврифмет. побочной диагонали = %f\n", nSredn );
}
17)Написать фрагмент программы, определяющий, является ли произвольная «прямоугольная»(не, ну чо за хуйня в задании!!!!, только КВАДРАТНАЯ) матрица симметричной относительно главной диагонали.
int SimmetricMatrx( int **mas, int N )
{
int simm = 1;
for( int i = 0; i < N; i++ )
for( int j = 0; j < N; j++ )
if( mas[i][j] != mas[j][i] )
simm = 0;
printf( "Матрица %s\n", (simm == 1)?("симметричная"):("антисимметрична") );
return( simm );
}
18)Дана строка, содержащая текст. Написать фрагмент программы, выводящий на экран встречающиеся в строке цифры.
void PrintNumeric( char *str )
{
for( int i = 0; i < strlen( str ); i++ ) // просматр.всю строку
{
if( isdigit( str[i] ) ) // функция isdigit() возвр.1 если это цифра
printf( "%c ", str[i] );
}
}
19)Написать фрагмент программы, удаляющий i-й элемент из массива целых чисел размера N, i <= N. Фрагмент оформить в виде функции, массив передать в функцию через параметры.
// N - передается как ссылка, т.к. оно содержит значение колличества
// элементов, это изменяемый параметр
void DelElem( int *mas, int nDel, int &N )
{
if( nDel == N )
{
N--;
}
else
for( int i = 0; i < N; i++ )
mas[i] = mas[i+1];
}
