Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pętla for, dodatkowo zliczanie wyników.

Ostatnio zmodyfikowano 2016-10-23 22:28
Autor Wiadomość
Erection
Temat założony przez niniejszego użytkownika
Pętla for, dodatkowo zliczanie wyników.
» 2016-10-23 21:40:25
Witam,
Mam za zadanie napisać program który zapyta mnie o ilość liczb które chce wpisać, policzy dla nich potęgi i na sam koniec doda do siebie sume tych potęg.
Co prawda mam to przygotować w javie i nie moge zrobić aby zliczało mi sume tych potęg, na samych podstawach znam też c++ więc jęśli ktoś może pomóc to bym był wdzięczny. ( Kod moze byc napisany w c++)
Tutaj mam to co przygotowałem w javie:



import java.util.Scanner;

        public class Main {

            public static void main(String[] args) {
                Scanner skaner = new Scanner (System.in);

                System.out.println("Podaj ilość liczb które chcesz wprowadzić: ");
                int n = skaner.nextInt();

                int biezaca = 0;
                int wynik = biezaca;

                for (int i=1; i<=n; i++)
                {
                    System.out.println("Podaj liczbę " + i);
                    biezaca = skaner.nextInt();
                    if (biezaca < wynik)
                    {
                        wynik = biezaca;
                    }
                    System.out.println( "Potęga twojej liczby to: "+ Math.pow(biezaca,2) );
                }
                System.out.println("Suma potęg twoich liczb to: " );               // Tutaj chyba trzeba coś dopisać aby zliczyło mi potegi niestety nie wiem jak to zrobić :x
            }
        }
P-152837
carlosmay
» 2016-10-23 22:13:17
Kod moze byc napisany w c++

C/C++
//Mam za zadanie napisać program który zapyta mnie o ilość liczb które chce wpisać, policzy dla nich potęgi i na sam koniec doda do siebie sume tych potęg.
#include <iostream>
#include <numeric>
#include <vector>
#include <cmath>
#include <algorithm>
#include <type_traits>

template < class T >
T getNum()
{
    T num = T { };
    while( !( std::cin >> num ) ) {
        std::cin.clear();
        std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
    }
    return num;
}

template < class C >
void fillContainer( C & coll )
{
    for( auto & el: coll ) {
        el = getNum < std::decay_t < C >::value_type >();
    }
}

int main()
{
    std::cout << "Podaj liczbe elem: ";
    std::size_t nNums = getNum < std::size_t >();
    std::vector < int > nums( nNums, 0 );
    fillContainer( nums );
    std::transform( nums.cbegin(), nums.cend(), nums.begin(),[]( auto & el ) { return el * el; } );
    std::cout << std::accumulate( nums.cbegin(), nums.cend(), 0 ) << '\n';
}

konsola:
Podaj liczbe elem: 3
2 4 3
29
Aby kontynuować, naciśnij dowolny klawisz . . .
P-152838
Erection
Temat założony przez niniejszego użytkownika
» 2016-10-23 22:28:58
Wielkie dzięki za pomoc! Mniej więcej rozumiem twój kod, pozostało mi tylko przerobienie swojego i powinno wszystko działać :)
P-152840
« 1 »
  Strona 1 z 1