Void main(void)
{
int arr[100], *pel, *pmax, *pmin, *pend, pzmax; /* arr[100] – масив цілих чисел, *pel –вказівник на поточний елемент, *pmax-вказівник на макс. елемент,*pmin – на мінім.,*pend – на останій, pzmax – позиція максимального елемента */
int i,n;
printf("input n=");
scanf("%d",&n); //вводимо к-ть елементів масиву
//вводимо масив з n чисел через пробіл:
puts("input array:");
for(i=0; i<n; i++)
scanf("%d",&arr[i]); //починаючи з елемента з індексом 0, послідовно записує кожне введене число
//в масив, збільшуючи індекс наступного елемента на 1
pmax=arr; //приймаємо перший елемент масиву за максимальний
pmin=arr; //приймаємо перший елемент масиву за мінімальний
pend=arr+(n-1); //записуємо адресу кінця масиву (останній ел. має індекс [n-1])
//починаючи з другого елемента arr[1] послідовно порівнюємо елементи масиву із максимальним
for (pel=arr+1; pel<=pend; pel++)
if (*pel>*pmax) //якщо знаходимо більший за максимальний
pmax=pel; //то прийамємо його за максимальний
printf("\nmax=%d\n\n",*pmax); //виводимо макс. елемент
pzmax=pmax-arr+1; /*позиція максимального елемента визначається за різницею між індексом максимального елемента і індексом першого, збільшуємо на 1, оск. індексація починається з 0*/
printf("\nmax. element №%d",pzmax); //виводимо це значення
getch();
}
11) Створити програму, яка замінює всі непарні елементи масиву на максимальний, а всі парні на мінімальний.
#include<stdio.h>
#include<conio.h>
Void main(void)
{
int arr[100], *pel, *pmax, *pmin, *pend, mx, mn, imax; //imax – індекс максимального ел.
int i,n;
printf("input n=");
scanf("%d",&n);
puts("input array:");
for(i=0; i<n; i++)
scanf("%d",&arr[i]);
//знаходимо макс. і мін. ел.:
pmax=arr;
pmin=arr;
pend=arr+(n-1);
for(pel=arr+1; pel<=pend; pel++)
if (*pel>*pmax)
pmax=pel;
for(pel=arr+1; pel<=pend; pel++)
if (*pel<*pmin)
pmin=pel;
mn=*pmin; mx=*pmax; //фіксуємо значення мін. ел. в змінній mn, макс. – в mx
imax=pmax-arr; //знаходимо індекс макс.
for (i=0; i<n; i++) //цикл по всіх елементах масиву
if (arr[i]%2==1) //якщо і-тий ел. непарний
arr[i]=mx; //то замість нього записуємо макс.
else //в іншому випадку (якщо парний)
arr[imax]=mn; //запис. мін.
printf("\nResult:\n"); //виводимо перетворений масив
for(i=0; i<n; i++)
printf("%d ", arr[i]);
getch();
}
13) Створити програму, яка замінює літери “кирилиці” на відповідні за звучанням латинські.
#include<stdio.h>
#include<conio.h>
Void main (void)
{
char sent[200];
char *p=sent;
puts("Input sentence:");
gets(sent);
//цикл по всіх символах речення:
while(*p!='\0') {
if(*p=='\x0A0') //якщо код зустрічається літера (код якої в дужках)
printf("a"); //друкуємо відповідну латинську
if(*p=='\x0A1') printf("b");
if(*p=='\x0A2') printf("v"); if(*p=='\x0A3') printf("h");
if(*p=='\x0A4') printf("d"); if(*p=='\x0A5') printf("e");
if(*p=='\x0A6') printf("zh"); if(*p=='\x0A7') printf("z");
if(*p=='\x0A8') printf("y");
if((*p=='\x0A9')||(*p=='\x0F7')) printf("i");
if(*p=='\x0AA') printf("k"); if(*p=='\x0AB') printf("l");
if(*p=='\x0AC') printf("m"); if(*p=='\x0AD') printf("n");
if(*p=='\x0AE') printf("o"); if(*p=='\x0AF') printf("p");
if(*p=='\x0E0') printf("r"); if(*p=='\x0E1') printf("s");
if(*p=='\x0E2') printf("t"); if(*p=='\x0E3') printf("u");
if(*p=='\x0E4') printf("f"); if(*p=='\x0E5') printf("kh");
if(*p=='\x0E6') printf("ts"); if(*p=='\x0E7') printf("ch");
if(*p=='\x0E8') printf("sh"); if(*p=='\x0E9') printf("sch");
if(*p=='\x0EE') printf("yu"); if(*p=='\x0EF') printf("ya");
if(*p=='\x0EC') printf("\'"); if(*p=='\x0F9') printf("yi");
if(*p=='\x0F5') printf("ye");
if(*p==' ') printf(" ")
p++; //перехід на наступний символ
}
getch();
}
14) Створити програму, яка знаходить в реченні однакові слова.
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct str {
char word[20];
};