Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Valabilitate permis auto cat. A s...

Caramida aparenta peste termosistem

Linistea din timpul penelor de cu...

Achiziție laptop baterie det...
 Cenzura in masa comentarii youtube

Inscriere copil la scoala in Roma...

exista adaptoare pentru baterii P...

Sa folosim antivirus, antimalware?
 SMS suspect livrare "posta ro...

Film original sau pirat?

Cum poti inregistra CD-uri in for...

Ceainaria celor pasionați de...
 Probleme la acoperis din cauza in...

Transferuri instant intre bancile...

player video cu preview cadru pe ...

Carrefour Act for good
 

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,920
  • Î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,295
  • Î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,114
  • Î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,548
  • Î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,927
  • Î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,114
  • Înscris: 24.02.2007
theForger's Win32 API Programming Tutorial

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

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