Задания по программированию на Borland C.


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

В среде Borland C написать про-му, которая будет реализовывать поиск максимального из 2 чисел при помощи функции.

максимальноt из 2 чисел

#include <stdio.h>

#include <conio.h>

int max(int a,int b)

{

if (a>b)//проверка какое число больше

return a;

else

return b;

}

void main()

{

clrscr();//очистка экрана

int a,b,c,maks;//maks-макс число c – повт ввод

m:printf(«Введи а=»);

scanf(«%d»,&a);//ввод числа а

printf(» Введи b=»);

scanf(«%d»,&b);// ввод числа b

maks=max(a,b);//вызов функции

printf(» Максимальное число=%d»,maks);//вывод максимального

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повт ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

2.Найти номер первой из строк, не содержащих ни одного отрицательного эле­мента.

В среде Borland C написать про-му, которая реализовывает поиск 1 встретившейся строки, не содержащей ни 1 отриц эл-та и выводящей этот номер

Найти номер первой из строк, не содержащих ни одного отрицательного эле­мента

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main()

{

randomize();

clrscr();//очистка экрана

int *a;

m:int n,i,j,c,fl,fl1=0;//n-разм мас i,j-перем цикла fl-проверка строк fl1-проверка существования строк

printf(«Введи размерность=»);

scanf(«%d»,&n);//ввод размерности массива

a=new int[n*n];//создание динам массива

for (i=0;i<n;i++)

{

printf(» «);

for(j=0;j<n;j++)

{

*(a+i*n+j)=random(15)-5;//заполнение массива случ числами

printf(«%3d»,*(a+i*n+j));//вывод матрицы

}

}

for (i=0;i<n;i++)

{

fl=0;

for(j=0;j<n;j++)

if (*(a+i*n+j)<0)//проверка на отрицательность

fl=1;

if (fl==0)//если нет ни 1 отрицат в строке

{

printf(» Номер строки=%d»,i+1);//вывод номера строки

fl1=1;

break;//выход из цикла

}

}

if(fl1==0)//проверка на существование строк

printf(» Таких строк нет»);

printf(» Повторить ввод? 1-да 0-нет =»);//Запрос на повторный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

3.Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.

В среде Borland C написать про-му, которая проверяет, является ли введенная с клавиатуры строка целым числом.

Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом.

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

void main()

{

clrscr();//очистка экрана

char mas[80];

m:int a,c,k=0;

fflush(stdin);//очистка буфера клавиатуры

printf(«Введи строку=»);

gets(mas);//ввод строки

a=atoi(mas);//функция преобразования строки в число

while(a!=0)//определение ко-ва цифр в числе а

{

a/=10;

k++;

}

if(k==strlen(mas))//если ко-во цифр равно ко-ву символов то строка явл целым числом

printf(» Данная строка явл целым числом»);

else

printf(» Данная строка не явл целым числом»);

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

4.Описать структуру с именем AEROFLOT (название пункта назначения рейса, номер рейса, тип самолёта).

Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из 7 элементов типа AEROFLOT; вывод на экран номеров рейсов и типов самолётов, вылетающих в пункт назначения, название которого совпало с названием, введённым с клавиатуры (если таких рейсов нет, выдать сообщение).

Описать структуру с именем AEROFLOT

#include <stdio.h>

#include <conio.h>

#include <string.h>

struct aeroflot//описание структуры

{

char punkt[80];

int reis;

char tip[80];

};

void vvod(aeroflot *pb)//функция ввода структур

{

int i;

for (i=0;i<7;i++)

{

printf(» Введи назв пункта =»);

fflush(stdin);

gets((pb+i)->punkt);//ввод пункта

printf(» Введи номер рейса=»);

scanf(«%d»,&(pb+i)->reis);//ввод рейса

printf(» Введи тип самолёта=»);

fflush(stdin);

gets((pb+i)->tip);//ввод типа

}

}

void vivod(aeroflot *pb)//ф-ия вывода

{

int i;

for (i=0;i<7;i++)

printf(» %s %d %s»,(pb+i)->punkt,(pb+i)->reis,(pb+i)->tip);

}

void poisk(aeroflot *pb)//ф-ия поиска

{

int i,fl=0;

char sl[20];

printf(» Введи искомый пункт=»);

fflush(stdin);

gets(sl);//ввод искомого пункта

for(i=0;i<7;i++)

if(strcmp((pb+i)->punkt,sl)==0)//сравнение строк

{

printf(» %d %s»,(pb+i)->reis,(pb+i)->tip);

fl=1;

}

if (fl==0)//проверка на существование таких рейсов

printf(» Таких рейсов нет»);

}

void main()

{

clrscr();

m:int c;

aeroflot mas[7];

vvod(mas);//вызов ф-ии ввода

printf(» «);

vivod(mas);//вызов ф-ии вывода

poisk(mas);//вызов ф-ии поиска

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

5.Дан текстовый файл, содержащий вещественные числа. Определить сумму квадратов чисел и записать ее и все числовые данные в новый файл

В среде Borland C написать про-му, которая реализует чтение из 1 файла вещественных чисел и записать суммы их квадратов в другой файл

чтение из 1 файла вещественных чисел и записать суммы их квадратов в другой файл

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main()

{

clrscr();//очистка экрана

FILE *in,*out;

float a,sum=0;

if ((in=fopen(«C:vas.txt»,»rt»))==0)//проверка на открытие файла vas.txt

{

printf(«Ohibka»);

exit(1);

}

if ((out=fopen(«C:rez.txt»,»wt»))==0)//проверка на открытие файла rez.txt

{

printf(«Ohibka»);

exit(1);

}

while(!feof(in))

{

fscanf(in,»%f»,&a);//считывание из файла дробных чисел в перем а

sum+=a*a;//наращивание суммы

}

fprintf(out,»%f»,sum);//занесение результата в файл rez.txt

fclose(in);//закрытие файла vas.txt

fclose(out);//закрытие файла rez.txt

getch();

}

6.В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов

В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();//очистка экрана

int *a;

m:int b,c,k=0,n,i;

printf(» Введи длину последовательности=»);

scanf(«%d»,&n);//ввод длины последовательности

a=new int[n];//создание динамического массива

for(i=0;i<n;i++)

{

printf(» введи число=»);

scanf(«%d»,&b);//ввод числа

if (b==0)//проверка нулевое ли число

{

*(a+k)=b;//занесение в массив номера

k++;//наращивание счётчика

}

}

printf(» «);

if (k==0)//проверка на существование нулевых

printf(» В последовательности нет нулевых эл-тов»);

else

for(i=0;i<k;i++)

printf(«%2d»,*(a+i));//вывод результата

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

7. Дана последовательность действительных чисел. Заменить все её члены, большие данного Z, этим числом. Посчитать количество замен.

В среде Borland C написать про-му, которая реализует ввод последовательности чисел и заменяет числа большие z на z и считает ко-во таких замен

ввод последовательности чисел

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();

int *a;

m:int c,n,i,kol=0,z;

printf(» Введи число z=»);

scanf(«%d»,&z);//ввод числа z

printf(» Введи длину последовательности=»);

scanf(«%d»,&n);//ввод длины последовательности

a=new int[n];//создание динам массива

for(i=0;i<n;i++)

{

printf(» введи число=»);

scanf(«%d»,a+i);//занесение данных в массив

if (*(a+i)>z)//проверка больше ли число числа z

{

*(a+i)=z;//приравнивание

kol++;//наращивание счётчика

}

}

printf(» «);

for (i=0;i<n;i++)

printf(«%3d»,*(a+i));//вывод массива

if (kol==0)//проверка на существование замен

printf(» Замен не было»);

else

printf(» Ко-во замен=%d»,kol);//вывод ко-ва замен

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

8. Дана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m.

Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#define n 5

void main()

{

randomize();

clrscr();//очистка экрана

int mas[n][n];

m:int i,j,c,m,ind,max,tmp;

printf(» Введи номер строки=»);

scanf(«%d»,&m);//ввод числа m

for(i=0;i<n;i++)

{

printf(» «);

for(j=0;j<n;j++)

{

mas[i][j]=random(10);//заполнение массива случ числами

printf(«%3d»,mas[i][j]);//вывод массива

}

}

max=mas[0][0];//приравнивание max первого эл-та гл диагонали

ind=0;//обнуление индекса

for(i=1;i<n;i++)//поиск макс эл-та на гл диагонали

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

{

max=mas[i][i];

ind=i;

}

m—;

for(i=0;i<n;i++)//обмен строк

{

tmp=mas[m][i];

mas[m][i]=mas[ind][i];

mas[ind][i]=tmp;

}

printf(» «);

for(i=0;i<n;i++)

{

printf(» «);

for(j=0;j<n;j++)

printf(«%3d»,mas[i][j]);//вывод изменённого массива

}

printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод

scanf(«%d»,&c);

if (c==1)

goto m;

getch();

}

Загрузка...