Új hozzászólás Aktív témák
-
elistvan
őstag
Az alábbi programomat, hogyan tudnám lerövidíteni függvényekkel? Tudom a tartalmazza az, de hogyan tudom, a találatokat és tippeket fügvényekkel megoldani?
/*Kenorsolás program találatok számát irja ki, és a nyerőszámokat emelkedő sorrendben*/
#include <stdlib.h>
#include <time.h>
#include <stdio.h>int tartalmazza(int tomb[], int hossz, int szam){
for(int i=0;i<hossz;i++){
if(tomb == szam){
return 1;
}
}
return 0;
}int main(){
int tippeltszamok[10] = {0};for(int i=0;i<10;i++){
int talalat(i);
int szam;
printf("%d. szám: ", i+1);
scanf("%d",&szam);
if(szam >= 1 && szam <= 80 && !tartalmazza(tippeltszamok,10,szam)){
tippeltszamok(i) = szam;
}else{
printf("Már tippelt vagy nem 1-80 közötti szám\n");
i--;
}
}printf("A játékba küldött számok:\n");
for(int i=0;i<10;i++){
printf("%d ", tippeltszamok(i));
}int nyeroszamok[20] = {0};
for(int i=0;i<20;i++){
int num = (rand() % (80 - 1 + 1)) + 1;
if(num >= 1 && num <= 80 && !tartalmazza(nyeroszamok,20,num)){
nyeroszamok(i) = num;
}else{
i--;
}
}int talalat[10] = {0};
int tIndex = 0;
for(int i=0;i<10;i++){
for(int j=0;j<20;j++){
if(tippeltszamok(i) == nyeroszamok[j]){
talalat[tIndex++] = nyeroszamok[j];
}
}
}
int tmp;
int j =0;
int emelkedo[20] = {0};
for( int i=0; i<10; i++)
{
for( int j=0; j<20; j++)
{
if(nyeroszamok[j] > nyeroszamok(i)) /*Ha a nyerőszámok tömb 1 eleme nagyobb mint a második*/
{
tmp = nyeroszamok(i); /*Az első elemet kitesszük a tmp változóba*/
nyeroszamok(i) = nyeroszamok[j]; /*A második elem átkerül az első helyre a sorban*/
nyeroszamok[j] = tmp; /*a tmp-ben tárolt 2. elem, átkerül a második helyre.*/
}
}
}
printf("\nAz e heti nyerőszámok növekvő sorrendben:\n");
for(int i=0;i<20;i++)
{
emelkedo(i) = nyeroszamok(i);
printf("%d ", emelkedo(i));
}
printf("\n\n");
printf("\nA heti nyerőszámok pedig:\n");
{
for(int i=0;i<20;i++)
{
printf("%d ", nyeroszamok(i));
}printf("\n%d találat:\n", tIndex);
for(int i=0;i<tIndex;i++){
printf("%d ", talalat(i));
}
}
return 0;
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- MSI Prestige A16 AI+ Ryzen AI 9, 32GB DDR5 7500, QHD+ 165Hz csúcskategóriás ultralaptop!
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 5 4500-5600X +RTX 3050/4070 +16-64GB DDR4! GAR/SZÁMLA! 70 féle ház!
- Bontatlan Intel Core ULTRA 9 285K (24mag!) + hűtött VRM-es Z890 alaplap! GAR/SZÁMLA (a Te nevedre)!
- 232 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070
- 231 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
- SteelSeries vezeték nélküli fejhallgató Arctis 9
- Lenovo ThinkCentre/ Dell OptiPlex/ Hp EliteDesk mini, micro PC/ 8.-9.-10.gen/ Számla/garancia
- REFURBISHED - Lenovo ThinkPad 40AF Dock (DisplayLink)
- 213 - Lenovo Legion 5 (15ACH6H) - AMD Ryzen 5 5600H, RTX 3060
- Bomba ár! Lenovo X13 Yoga G1 - i5-10G I 8GB I 256SSD I 13,3" FHD Touch I Cam I W11 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

