România
Roportal.ro

Probleme in C++

Început de alina_ally23, Mar 3 ian 2006 · 132 răspunsuri · 106.875 vizualizări

Madu:x1 mesaje#121

Problema este atasata si se numeste Antivirus.

Nu cer rezolvarea ei, vreau doar niste idei pentru liniile nevide, unde trebuie sterse spatii. Orice idee, indrumare, as fi recunoascatoare. Mi-am batut capul cu liniile nevide 2 ore, si nu mi-a venit nici o idee.

multumesc anticipat..

Antivirus.doc

Paul Brahtl2.177 mesaje#122

Pai nu trebuie sterse spatiile, trebuie sa le pui la loc.

Asta inseamna ca trebuie sa parcurgi linia si incepand cu prima aparitie a caracterului "/" sa folosesti informatia ca sa introduci spatiile inapoi in rand.

VladHNS1 mesaje#123

Ti-l refac eu .

include <iostream>

using namespace std;

int main () (

int n;

cout <<"Enter a number and press Enter:";

cin >> n;

while (n == 5) {

cout << "Acesta este numarul corect.";

else

cout << "Acesta este numarul incorect.";

}

return 0;

}

radu 84 , a avut dreptate , am folosit while , ma descurc mai bine decat cu if-u :))

Editat Mie 25 ian 2012 18:10

Paul Brahtl2.177 mesaje#124
VladHNS a scris:

Ti-l refac eu .

include <iostream>

using namespace std;

int main () (

int n;

cout <<"Enter a number and press Enter:";

cin >> n;

while (n == 5) {

cout << "Acesta este numarul corect.";

else

cout << "Acesta este numarul incorect.";

}

return 0;

}

radu 84 , a avut dreptate , am folosit while , ma descurc mai bine decat cu if-u :))

Felicitari pentru efort, dar instructiunea while nu functioneaza asa cum crezi tu.

WHILE executa o instructiune cat timp este indeplinita o conditie. WHILE nu are ramura de ELSE.

Krist1 mesaje#125

Se citesc de la tastatura n numere naturale. Sa se afiseze pentru fiecare numar suma cifrelor sale.

Eu am creat programul in felul urmator:

#include<iostream.h>

int main()

{int i,n,s; long x;

s=0;i=0;

cout<<"n=";cin>>n;

while(i<n)

{cout<<"x=";cin>>x;

x=x/10;

s=s+x%10;

i=i+1;

cout<<"s="; cout<<s;}

return 0;}

Am folosit un program pentru verificare, dar suma nu imi da bine. Unde am gresit?

Pippo8.725 mesaje#126
int i,n,s; long x;
s=0;i=0;
cout<<"n=";cin>>n;
while(i<n)
{
cout<<"x=";cin>>x;

s=0;
while(x!=0)
{
	s=s+x%10;
	x=x/10;
}

i=i+1;
cout<<"s="; cout<<s;  cout<<"\n";
}

return 0;
Ionut9311 mesaje#127

Salut,am si eu o problema care aparent pare simpla dar imi cam da batai de cap,trebuie sa scriu un progam in c++ care trebuie sa aleaga aleatoriu din 30 de elevi doar 2,dar acestia 2 elevi sa nu se repete,v-as multumii enorm daca m-ati putea ajuta,o zi buna :)

Pippo8.725 mesaje#128
Ionut931 a scris:

Salut,am si eu o problema care aparent pare simpla dar imi cam da batai de cap,trebuie sa scriu un progam in c++ care trebuie sa aleaga aleatoriu din 30 de elevi doar 2,dar acestia 2 elevi sa nu se repete,v-as multumii enorm daca m-ati putea ajuta,o zi buna :)

#include <stdlib.h>
#include <time.h>

#include <iostream>
using namespace std;


int GetRand(int min, int max)
{
return (double)rand() / (RAND_MAX + 1) * (max - min) + min;
}

void PrintRand(int elevi[30], int &max)
{
//Print rand
int rand = GetRand(0, max);
cout<<elevi[rand];

//Delete rand
for(int i=rand; i<max-1; i++)
{
	elevi[i] = elevi[i+1];
}
max--;
}

int _tmain(int argc, _TCHAR* argv[])
{
int elevi[30];

//init rand
srand((unsigned)time( NULL ));
rand();

//init array
for(int i=0; i<30; i++)
{
	elevi[i] = i+1;
}

int max = 30;
while(max > 0)
{
	PrintRand(elevi, max);
	cout<<";";
	PrintRand(elevi, max);
	cout<<"\n";
}

return 0;
}
Paul Brahtl2.177 mesaje#129
Ionut931 a scris:

.. sa aleaga aleatoriu din 30 de elevi doar 2,dar acestia 2 elevi sa nu se repete..

Cerinta asta e putin ambigua.

Cei doi elevi nu trebuie sa mai apara in extragerile urmatoare, sau sa nu apara acelasi elev de doua ori in aceeasi extragere?

Solutia pe care ti-a dat-o Pippo iti face un aranjament aleatoriu al celor 30 de elevi din care poti sa formezi grupe succesive de 2 elevi, cu certitudinea ca un elev nu apare in doua grupe.

Taquito203 mesaje#130

> la pasul 1, alegi un nr random de la 1 la 30

> la pasul 2, alegi un nr random de la 1 la 30 si verifici sa nu fie cel ales la pasul 1. daca e identic, alegi altul

← Înapoi la Programare