KOD PROGRAMU W VS :
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int N = 20;
double t[20];
double pseudo;
int s;
int i;
int p, k;
int wybor;
OUT:
printf("Zakres p<0,48> i k<1,49>\n");
printf("Podaj wartosc dla p (index poczatkowy): ");
scanf("%d", &p);
printf("Podaj wartosc dla k (index koncowy): \n");
scanf("%d", &k);
if (p < k)
{
for (i = 0; i < N; i++)
{
pseudo = 1 + rand() % 199;
t[i] = pseudo;
printf("t[%d] = %.0lf\n ", i, t[i]);
}
printf("(1)-maksymalna wartosc (2)-zamiana (3)-posortowanie\n");
scanf("%d", &wybor);
switch (wybor)
{
case 1:
s = maksimum(t, N, p, k);
printf("Index to %d\n", s);
goto OUT;
case 2:
zamien(t, N, p, k);
goto OUT;
case 3:
sortuj(t, N, p, k);
goto OUT;
}
}
else { printf("Wartosc p musi byc mniejsza od k\n"); goto OUT; }
system("pause");
return 0;
}
int maksimum(double t[], int N, int p, int k)
{
int i,ind_max;
double wartosc_max;
wartosc_max = t[p];
ind_max = p;
for (i = p + 1; i <= k; i++)
{
if (wartosc_max < t[i])
{
wartosc_max = t[i];
ind_max = i;
}
}
return ind_max;
}
void zamien(double t[], int N, int p, int k)
{
int i;
N = 20;
double temp;
temp = t[p];
t[p] = t[k];
t[k] = temp;
for (i = 0; i < N; i++)
{
printf("tablica zamieniona : t[%d] = %.0lf\n", i, t[i]);
}
}
void sortuj(double t[],int N ,int p, int k)
{
int i;
int ind_min;
double wartosc_min;
double tempo;
do
{
wartosc_min = t[p];
ind_min = p;
for (i = p + 1; i <= k; i++)
{
if (t[i] < wartosc_min)
{
wartosc_min = t[i];
ind_min = i;
}
}
tempo = t[ind_min];
t[ind_min] = t[p];
t[p] = tempo;
p++;
} while (p < k);
printf("Tablica posortowana : \n");
for (i = 0; i < N; i++)
{
printf("t[%d] = %.0lf\n", i, t[i]);
}
}