NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Potřebuji pomoc s funkcemi. Jsem začátečník

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:23.5.2017 13:03

Upravte (dokončete) rozpracovaný program "pole1a.c" (níže ke stažení) tak, aby ho řídilo jednoduché barevné menu.

Kromě již hotových funkcí

zadani_pole()
tisk_pole()
nahodne_pole()

bude obsahovat ještě další alespoň 3 funkce pro výpočet, zobrazení, nějakou akci s polem, např.:

aritmetický průměr
minimum nebo maximum
seřazení (uspořádání) metodou bubblesort nebo minimax
modus (nejčetnější prvek)
medián (prostřední prvek)
počet kladných, záporných a nulových prvků

#include<stdio.h>
#include "moje.h"

// pole je výhodný mít v globální proměnné (většinou)
#define ROZSAH 10
int pole_a[ROZSAH];

void polozka_menu(char *t1, char *t2, char*t3)
{
printf("%s", t1);
cprintf(SVETLE­FIALOVA, t2);
printf("%s\n", t3);
}

void zadani_pole(int pole[], int pocet_prvku)
{
int i;
clrscr();
printf ("postupně budete zadávat %i hodnot:\n\n", pocet_prvku);
for(i=0; i<pocet_prvku; i++)
{
printf(" %i. hodnota = ", i+1);
scanf("%i", &pole[i]);
}

printf("Stiskněte klávesu pro návrat do menu...");
getch();
}

void tisk_pole(int pole[], int pocet_prvku)
{
int i;
clrscr();
printf("\nKontrolní tisk:\n");
for(i=0; i<pocet_prvku; i++)
printf("%i ",pole[i]);
printf("\n");

printf("Stiskněte klávesu pro návrat do menu...");
getch();
}

void nahodne_pole(int pole[], int pocet_prvku)
{
int i;
int a, b;
clrscr();
printf("Zadejte rozsah hodnot(např. -50,50):");
scanf("%i , %i", &a, &b);
srand(time(NULL));
//for(i=1; i<=10; i++)
for(i=0; i<pocet_prvku; i++)
pole[i] = rand()%(b-a+1) + a;
//printf("%i, ", rand()%(b-a+1) + a);

printf("Stiskněte klávesu pro návrat do menu...");
getch();
}

void aritmeticky_pru­mer(int pole[], int pocet_prvku)

void main()
{
printf("Práce s polem celých čísel\n"
"============­==============\n\n");
//zadani_pole(po­le_a, ROZSAH);
//tisk_pole(pole_a, ROZSAH);
//nahodne_pole(po­le_a, ROZSAH);
//tisk_pole(pole_a, ROZSAH);

char klavesa;
do
{
clrscr();
printf("MENU:\n"
"=====\n\n");
polozka_menu("Z","a­daní pole","");
polozka_menu("T","isk pole","");
polozka_menu("N","á­hodné pole","");
polozka_menu("A","rit­metrický průměr","");
polozka_menu("S","e­zaření","");
polozka_menu("M","i­nimum","");
polozka_menu("K","o­nec","");

klavesa = getch();

switch(klavesa)
{
case 'z': case 'Z':zadani_po­le(pole_a, ROZSAH); break;
case 't': case 'T':tisk_pole(po­le_a, ROZSAH); break;
case 'n': case 'N':nahodne_po­le(pole_a, ROZSAH); break;
case 'a': case 'A':aritmetic­ky_prumer(pole_a, ROZSAH); break;
// case 's': case 'S':sezareni(po­le_a, ROZSAH); break;
// case 'm': case 'M':minimum(pole_a, ROZSAH);break ;

}
}

while(klavesa != 'k' && klavesa != 'K');
}

Odpovědět
23.5.2017 13:03
Neaktivní uživatelský účet
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
pocitac770:23.5.2017 13:08

A co po nás chceš? Dal jsi sem jenom kód, a nic víc, co třeba říct, kde jsi narazil na problém, co ti nefunguje, s čím si nevíš rady.... Nebo ti máme prostě udělat domácí úkol? ;)

 
Nahoru Odpovědět
23.5.2017 13:08
Avatar
MineGame159
Člen
Avatar
MineGame159:23.5.2017 16:09
:D
 
Nahoru Odpovědět
23.5.2017 16:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.