Информатика не могу найти program n_15; var i: integer; x: real; begin writeln ('График тренировок'); i:=1; x:=10; repeat i:=i+1; x:=x+0.1*x; until x>=25; writeln ('Начиная с ', i, '-го дня спортсмен будет пробегать 25 км')
Сортировал массив пузырьком (сравнивал первый символ в названии магазина).
Пробегался циклом через массив и функцией strcmp, сравнивал названия магазинов и строку с названием того магазина, который мы ищем.
Если вкратце, strcmp возвращает нам -1 когда строка которая передаётся в качестве первого параметра больше, 0 когда они равны (по содержимому тоже), и 1 если строка которая передаётся 2 параметром больше.
Сортировал массив пузырьком (сравнивал первый символ в названии магазина).
Пробегался циклом через массив и функцией strcmp, сравнивал названия магазинов и строку с названием того магазина, который мы ищем.
Если вкратце, strcmp возвращает нам -1 когда строка которая передаётся в качестве первого параметра больше, 0 когда они равны (по содержимому тоже), и 1 если строка которая передаётся 2 параметром больше.
Сортировал массив пузырьком (сравнивал первый символ в названии магазина).
Пробегался циклом через массив и функцией strcmp, сравнивал названия магазинов и строку с названием того магазина, который мы ищем.
Если вкратце, strcmp возвращает нам -1 когда строка которая передаётся в качестве первого параметра больше, 0 когда они равны (по содержимому тоже), и 1 если строка которая передаётся 2 параметром больше.
Вот мой вариант:#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
template <typename T>
struct PRICE
{
char prod_name[20];
char shop_name[20];
T price;
};
template <typename T>
void sortByShop(PRICE<T>* arr, int size)
{
PRICE<T> tmp;
bool check=true;
while(check)
{
check=false;
for(int i=0; i < size-1; ++i)
{
if(toupper(arr[i].shop_name[0])>toupper(arr[i+1].shop_name[0]))
{
tmp = arr[i];
arr[i]=arr[i+1];
arr[i+1]=tmp;
check=true;
}
}
}
}
template <typename T>
void show(PRICE<T>* arr, int size)
{
for(int i = 0; i < size; ++i)
{
printf("\nshop name -> %s\n",arr[i].shop_name);
printf("poduct name -> %s\n",arr[i].prod_name);
printf("poduct price -> %d\n",arr[i].price);
}
}
int main()
{
const int size = 5;
PRICE<double> arr[size];
for(int i = 0; i < size; ++i)
{
printf("Enter shop name -> ");
scanf("%s",&arr[i].shop_name);
printf("Enter poduct name -> ");
scanf("%s",&arr[i].prod_name);
printf("Enter poduct price -> ");
scanf("%d",&arr[i].price);
}
show(arr,size);
sortByShop(arr,size);
printf("\nSorted array.\n");
show(arr,size);
char target[20];
printf("Enter shop name -> ");
scanf("%s",&target);
bool check=false;
for(int i = 0; i < size; ++i)
{
if(strcmp(arr[i].shop_name,target)==0)
{
printf("\nFounded products:\n");
printf("poduct name -> %s\n",arr[i].prod_name);
check=true;
}
}
if(!check) printf("Shop is not founded.\n");
system("pause");
}
Сортировал массив пузырьком (сравнивал первый символ в названии магазина).
Пробегался циклом через массив и функцией strcmp, сравнивал названия магазинов и строку с названием того магазина, который мы ищем.
Если вкратце, strcmp возвращает нам -1 когда строка которая передаётся в качестве первого параметра больше, 0 когда они равны (по содержимому тоже), и 1 если строка которая передаётся 2 параметром больше.
Вот мой вариант:#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
template <typename T>
struct PRICE
{
char prod_name[20];
char shop_name[20];
T price;
};
template <typename T>
void sortByShop(PRICE<T>* arr, int size)
{
PRICE<T> tmp;
bool check=true;
while(check)
{
check=false;
for(int i=0; i < size-1; ++i)
{
if(toupper(arr[i].shop_name[0])>toupper(arr[i+1].shop_name[0]))
{
tmp = arr[i];
arr[i]=arr[i+1];
arr[i+1]=tmp;
check=true;
}
}
}
}
template <typename T>
void show(PRICE<T>* arr, int size)
{
for(int i = 0; i < size; ++i)
{
printf("\nshop name -> %s\n",arr[i].shop_name);
printf("poduct name -> %s\n",arr[i].prod_name);
printf("poduct price -> %d\n",arr[i].price);
}
}
int main()
{
const int size = 5;
PRICE<double> arr[size];
for(int i = 0; i < size; ++i)
{
printf("Enter shop name -> ");
scanf("%s",&arr[i].shop_name);
printf("Enter poduct name -> ");
scanf("%s",&arr[i].prod_name);
printf("Enter poduct price -> ");
scanf("%d",&arr[i].price);
}
show(arr,size);
sortByShop(arr,size);
printf("\nSorted array.\n");
show(arr,size);
char target[20];
printf("Enter shop name -> ");
scanf("%s",&target);
bool check=false;
for(int i = 0; i < size; ++i)
{
if(strcmp(arr[i].shop_name,target)==0)
{
printf("\nFounded products:\n");
printf("poduct name -> %s\n",arr[i].prod_name);
check=true;
}
}
if(!check) printf("Shop is not founded.\n");
system("pause");
}