Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
casa verde 2024

Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata
 Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...
 teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN
 Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.
 

The Secret Santa in C

- - - - -
  • Please log in to reply
14 replies to this topic

#1
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
int main(void)
{
srand(time(NULL));
char lista[35][30];
int nr ,ramas,colegi[27],check[27],alege,i;
FILE *cheie=fopen("nume.txt","r");
printf("Cati sunteti in clasa?\n");
scanf("%d",&ramas);
for(i=1;!feof(cheie);++i) fgets (lista[i], 50, cheie);
for( i=1;i<=ramas;++i){
	 colegi[i]=i;
	 check[i]=0;
	 }
printf("\t\t\t CUI O SA II DAI CADOU:\n\n");
srand(time(NULL));
do{
	 do{
	 printf("\nce numar esti la catalog? ");
	 scanf("%d", &nr);
	 if(check[nr]<0)printf("ai mai ales odata, urmatorul ...\n");
	 }while(check[nr]<0); //sigurante
do{ alege=rand()%26+1; }while(colegi[alege]==0||alege==nr);
colegi[alege]=0;
check[nr]=-1;
--ramas;
printf("ti-a picat: %s \n ",lista[alege]);
}while(ramas>=1);

}


Edited by VladBtz, 06 December 2016 - 22:52.


#2
Axel2015

Axel2015

    Member

  • Grup: Members
  • Posts: 716
  • Înscris: 10.02.2016
Este un program?

#3
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014

View PostAxel2015, on 06 decembrie 2016 - 22:52, said:

Este un program?

Este o ironie ?

#4
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,924
  • Înscris: 29.10.2014
La cât de condensat este scris, putea să fie o singură linie.

#5
_-AppleS-_

_-AppleS-_

    ✮✮✮✮✮✮✮✮

  • Grup: Senior Members
  • Posts: 4,512
  • Înscris: 09.07.2014
De ce lista e matrice ? De ce srand de 2 ori ? De ce iti trebuie numarul de elevi daca ii citesti oricum dintr-o lista ?

#6
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014

View Post_&#045;AppleS&#045;_, on 06 decembrie 2016 - 23:20, said:

De ce lista e matrice ? De ce srand de 2 ori ? De ce iti trebuie numarul de elevi daca ii citesti oricum dintr-o lista ?

Lista e matrice ca sa retina numele tuturor pe cate o linie. srand e pus din greseala de 2 ori. in loc de citire o sa folosesc ramas = i-1; dupa forul de citire. Evident scot int din for.

View PostRedDev, on 06 decembrie 2016 - 23:08, said:

La cât de condensat este scris, putea să fie o singură linie.

Ai dreptate, o sa ma apuc acum sa citesc niste articole despre indentare.

#7
iulian0512

iulian0512

    Member

  • Grup: Validating
  • Posts: 756
  • Înscris: 03.01.2010
oribila indentarea

#8
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
int main(void)
{
srand(time(NULL));
char lista[35][30];
int nr ,ramas,colegi[27],check[27],alege,i;
FILE *cheie=fopen("nume.txt","r");
for(i=1;!feof(cheie);++i) fgets (lista[i], 50, cheie);
ramas=i-1;
for( i=1;i<=ramas;++i){
		 colegi[i]=i;
		 check[i]=0;
		 }
printf("\t\t\t CUI O SA II DAI CADOU:\n\n");
do{
		 do{
		 printf("\nce numar esti la catalog? ");
		 scanf("%d", &nr);
		 if(check[nr]<0)printf("ai mai ales odata, urmatorul ...\n");
		 }while(check[nr]<0);

		 do{
		 alege=rand()%26+1;
		 }while(colegi[alege]==0||alege==nr);

colegi[alege]=0;
check[nr]=-1;
--ramas;
printf("ti-a picat: %s \n ",lista[alege]);
}while(ramas>=1);
}


Edited by VladBtz, 07 December 2016 - 08:52.


#9
Dobrin_M

Dobrin_M

    Active Member

  • Grup: Members
  • Posts: 1,528
  • Înscris: 19.02.2015
Nu e mai simplu cu niște bilețele puse într-un bol?

#10
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,383
  • Înscris: 10.08.2005

View PostVladBtz, on 06 decembrie 2016 - 22:56, said:

Este o ironie ?
nu, este o intrebare legitima, pe aria asta expunem produs final, nu coduri

incearca sa implementezi asta
[ https://www.youtube-nocookie.com/embed/5kC5k5QBqcc?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

Edited by MarianG, 07 December 2016 - 15:55.


#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
E un inceput.

Nu-mi place insa ca intrebi acel numar din catalog. Ai lista de elevi, ti-e suficient pentru a stabili cine cui da cadou.

Pasul urmator: fa o aplicatie desktop care sa faca acelasi lucru. Sa contina:

  • O casuta text in care sunt inserati toti elevii unul sub altul
  • Un buton "Stabileste Secret Santa"
  • Un listview cu 2 coloane in care afisezi cine cui da cadou

Limbaj: C.
API: WinAPI sub Windows sau GTK+ sub Linux.

#12
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
Pentru grafica in Windows aveam biblioteca windows.h ?

View PostDobrin_M, on 07 decembrie 2016 - 14:15, said:

Nu e mai simplu cu niște bilețele puse într-un bol?

E un inceput, inveti sa fac niste chestii. Intr-o zi o sa ajung sa fac si programe mai complexe care sa iti faca vreun lucru "mai simplu".

#13
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View PostVladBtz, on 07 decembrie 2016 - 19:35, said:

Pentru grafica in Windows aveam biblioteca windows.h ?
E una din ele, adica WinAPI.

#14
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 19,980
  • Înscris: 24.02.2006

View PostVladBtz, on 07 decembrie 2016 - 19:35, said:

....... Intr-o zi o sa ajung sa fac si ....

intr-o zi o sa descoperi threadurile deschise de tine pe aici si o sa te rusinezi vazand ce ai putut posta :)

#15
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
theForger's Win32 API Programming Tutorial

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate