Написать программу, которая вводит три строки и сортирует их по возрастанию длины. Ввод, сортировку и вывод результата оформить в виде функций.
Лабораторная работа № 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!