Informatică, întrebare adresată de portocala201, 8 ani în urmă

1. Se citesc de la tastatura doua numere intregi si un caracter. Daca acest caracter este '+', '-', '*' sau '/', realizati operatia respectiva intre numerele intregi citite si afisati rezultatul pe ecran. Sa se rezolve folosind instructiunea switch.
2. Se citeste de la tastatura un numar real cu 3 zecimale. Folosind instructiunea do...while, sa se mute virgula pe toate pozitiile interioare posibile in cadrul numarului initial si sa se afise rezultatul, cate un numar pe rand. De ex. 123,456 -> 12,3456 -> 1,23456

Răspunsuri la întrebare

Răspuns de Norby9
0

Răspuns:

1)

#include <iostream>

using namespace std;

char semn;

int num1, num2;

int main(void) {

 cin >> num1 >> num2;

 cin >> semn;

 switch(semn) {

   case '+':

     cout << num1 + num2;

     break;

   case '-':

     cout << num1 - num2;

     break;

   case '*':

     cout << num1 * num2;

     break;

   case '/':

     cout << num1 / num2;

     break;

 }

}

2)

#include <iostream>

#include <fstream>

using namespace std;

#define nmax 200 // aici pui numarul maxim de elemente pe care il poti avea

ifstream read("vectori.txt");

int n, a[nmax + 1], x, sum, nrElem, i;

int main() {

 read >> n;  

 for(i = 1; i <= n; ++i) {

  read >> x;

  a[++nrElem] = x;

  if(i % 3 == 0) {

    sum += x;

    a[++nrElem] = sum;

    sum = 0;

  } else {

      sum += x;

  }

 }

 for(i = 1; i <= nrElem; ++i) {

  cout << a[i] << " ";

 }

 return 0;

}

Explicație:

Ideea pe care am implementat-o e una simpla : pe masura ce citesc cele n elemente le pun in vector si, intre timp, in variabila suma adun elementele la care sunt....daca sunt pe o pozitie divizibila cu 3 (multiplu de 3) atunci nu uit sa adun elementul curent si il pun in vector, daca nu este pe o pizitie "din 3 in 3 " atunci il adaug la suma curenta....in final afisez elementele .... Bafta !!

Alte întrebări interesante