Laboratoare la C++

Previzualizare laborator:

Extras din laborator:

Chişinău 2014

1.Scrieţi un program care calculează suma cifrelor pentru fiecare număr din consecutivitatea de 100 de numere aleatoare.

Listing:

#include <cstdlib>

#include <stdlib.h>

#include <iostream>

using namespace std;

int calc_num(int num){

int i=0;

if(num<0)num*=(-1);

if(num==0)return 1;

else{

do{ //divizam numar pina cind el o sa fie <0,calculam si

i++; //returnam numar de cicluri care si reprezinta numar

num/=10; //de cifre

}while(num>0);

}

return i;

}

int main(int argc, char** argv) {

int m,i,num;

for(i = 0 ; i<100 ;i++){

num = rand();

m = calc_num(num);

std :: cout <<"n numarul este :"<<num<<"n numarul de cifre este :"<<m <<"nn";

}

return 0;

}

Output (pentru ultimele 2)

numarul este :596516649

numarul de cifre este :9

numarul este :1189641421

numarul de cifre este :10

2. Scrieţi un program care roteşte fiecare element al listei dublu lănţuite n la dreapta cu b poziţii.

//Listing

//list_class.h

#ifndef LIST_CLASS_H

#define LIST_CLASS_H

//definim structura pentru pastararea datelor

typedef struct node{

int val;

node *next,*prev;

}*Node;

class list{ //definim class lista

public :

Node head,tail; //structuri de tip head si tail

list(void): head(NULL),tail(NULL){}; //initial head si tail sunt nule

~list(void){

while(head){ //stergem lista

tail = head->next;

delete(head);

head = tail;

}

}

void add(int val);

void print_list(void);

void offset_list(int b);

};

void list :: add(int v){ //adaugam un nod

Node n1 = new node;

n1->val = v;

n1->next = NULL;

if(head!=NULL){

n1->prev = tail;

tail->next = n1;

tail =n1;

}else{

n1->prev = NULL;

head = tail = n1;

}

}

void list :: print_list(void){

Node temp;

for(temp = head ;temp!=tail;temp = temp->next){

std :: cout<<temp->val<<" ";

}

std :: cout<<tail->val<<" ";

}

void list ::offset_list(int b){

int i;

Node temp1,temp2;

for(i = 0;i<b;i++){

temp1 = tail -> prev;

tail -> prev = NULL;

temp1->next = NULL;

temp2 = tail;

tail =temp1;

temp2->next =head;

head = temp2.

Observații:

Facultatea Calculatoare, Informatică şi Microelectronică

Universitatea Tehnică a Moldovei

Catedra Calculatoare

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Laboratoare la C++.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
31 pagini
Imagini extrase:
31 imagini
Nr cuvinte:
3 302 cuvinte
Nr caractere:
21 413 caractere
Marime:
26.75KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Calculatoare
Predat:
la facultate , Moldova
Materie:
Calculatoare
Sus!