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



Лабораторная работа № 5

 

СТРУКТУРЫ В ЯЗЫКЕ СИ

 

1. Цель работы

Ознакомиться с понятием структур. Научиться использовать структуру для организации простейших баз данных.

4.1. Написать программу, работающую с базой данных в виде массива структур и выполняющую последовательный ввод данных в массив и последующую распечатку его содержимого. Состав структуры приведен в табл. 5.1. Типы данных выбрать самостоятельно.

4.2. Переписать программу п.4.1, используя массив указателей на структуры и динамическое выделение памяти. Выполнить сортировку массива. Способ сортировки массива приведен в табл. 5.1.

 

10 Название детали Количество Вес Адрес поставщика Расположить записи в порядке убывания количества деталей, с весом больше заданного.

 

/*Массив структур*/

 

#include <stdio.h>

#include <conio.h>

#define raz 4

struct detal

{

char name[20], adress[20];

int i, kol,ves;

} p[raz];

void main()

{

int i;

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

{

printf("\n Vvod dannyh detaly %d",i+1);

printf("\n Vvod nazvaniya detaly (do 20 simvolov):");

scanf("%s",p[i].name);

printf("\n Vvod kol-va delatey:");

scanf("%d",&p[i].kol);

printf("\n Vvod vesa:");

scanf("%d",&p[i].ves);

printf("\n Vvod adresa postavshika(do 20 simvolov):");

scanf("%s",p[i].adress);

}

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

{

printf("\n detal nomer: %d",i+1);

printf("\n nazvanie: %s",p[i].name);

printf("\n kol-vo: %d",p[i].kol);

printf("\n ves: %d",p[i].ves);

printf("\n adres postavshika: %s",p[i].adress);

}

}

 

/*Массив указателей на структуру и динамическое выделение памяти*/

 

#include <stdio.h>

#include <conio.h>

#include <malloc.h>

#define raz 4

struct detal

{

char name[20], adress[20];

int kol,ves;

}*p[raz],*tempd;

void main()

{

int i,j,zad_ves;

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

{

p[i]=(struct detal*)malloc(sizeof(struct detal));

printf("\n Vvod dannyh detaly %d",i+1);

printf("\n Vvod nazvaniya detaly (do 20 simvolov):");

scanf("%s",p[i]->name);

printf("\n Vvod kol-va delatey:");

scanf("%d",&p[i]->kol);

printf("\n Vvod vesa:");

scanf("%d",&p[i]->ves);

printf("\n Vvod adresa postavshika:");

scanf("%s",p[i]->adress);

}

printf("\n Vvod zadannogo vesa:");

scanf("%d",&zad_ves);

for(i=0;i<raz-1;i++)

{

for(j=i+1;j<raz;j++)

       {

if(p[i]->ves<zad_ves) break;

        if(p[i]->kol<p[j]->kol)

{

       tempd=p[i];

        p[i]=p[j];

       p[j]=tempd;

       }

}

}

printf("\n zadanniy ves: %d",zad_ves);

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

{

if(p[i]->ves<zad_ves)

{

printf("\n detal: %s v sortirovke ne uchastvuet”, p[i]->name);

 free(p[i]);continue;

 }

printf("\n nazvanie: %s",p[i]->name);

printf("\n kol-vo: %d",p[i]->kol);

printf("\n ves: %d",p[i]->ves);

printf("\n adress postavshika: %s",p[i]->adress);

free(p[i]);

}

 getch();

}

 

Самостоятельная работа

по теме «УКАЗАТЕЛИ, ФУНКЦИИ»

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№2

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

Вариант№3

Написать программу, которая вводит три строки и сортирует их в алфавитном порядке по первой букве. Ввод, сортировку и вывод результата оформить в виде функций.  

 

 


Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№1

Написать программу, которая вводит три строки и меняет в каждой из них последний символ на символ ‘?’. Ввод, замену и вывод результата оформить в виде функций.  

Вариант№2

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

Вариант№2


Дата добавления: 2018-05-12; просмотров: 499; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!