• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Proste zadanie z pewnego zbiorku zadań z języka C++ --- Czy mogłem zrobić to prościej?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
435 wizyt
pytanie zadane 21 kwietnia 2016 w C i C++ przez Konrad Nabożny Stary wyjadacz (13,480 p.)

Treść zadania ze zbioru zadań:

Utwórz dwie 50 elementowe tablice zmiennych typu float, jedną z nich wypełnij liczbami od 1.0 do 5.0 (1.0, 1.1, 1.2... itd). Następnie skopiuj zawartość tablicy pierwszej do tablicy drugiej i wyświetl zawartość tablicy drugiej na ekranie aby sprawdzić czy cała zawartość tablicy pierwszej została poprawnie skopiowana.

 

Mój kod: 

 

#include <iostream>

using namespace std;

int main()
{
    float tab1[50];
    float tab2[50];

    float liczba=1;

    for (int i=0; i<=40; i++)
    {
        tab1[i] = liczba;
        tab2[i] = tab1[i];
        liczba += 0.1;

        cout<<tab2[i]<<endl;
    }

    return 0;
}

 

 

Wiem że program działa poprawnie, ale czy istnieje możliwość napisania go prościej? Dziękuję za odpowiedzi i pozdrawiam. 

komentarz 22 kwietnia 2016 przez Surykat Stary wyjadacz (14,780 p.)
Masz literówkę, nie powinno być w pętli i < 50 ? :)
komentarz 22 kwietnia 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
Nie powinno. Zauważ że aby uzupełnić liczby od 1.0 do 5.0 potrzebujemy 40 iteracji :)
komentarz 22 kwietnia 2016 przez Surykat Stary wyjadacz (14,780 p.)
Aaaa no tak. Oczywiście jak widzę tab[50] to od razu się takowej pętli spodziewam, bez namysłu :)
komentarz 22 kwietnia 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
Dokładnie też tak pomyślałem na początku, ale potem zauważyłem że autor chciał być lekko podchwytliwy :)

2 odpowiedzi

+1 głos
odpowiedź 22 kwietnia 2016 przez adas94 Nałogowiec (29,200 p.)
wybrane 22 kwietnia 2016 przez Konrad Nabożny
 
Najlepsza

Może nie krócej, ale ładniejszy moim zdaniem zapis :

#include <iostream>

using namespace std;

int main()
{
    float tab1[50];
    float tab2[50];

    float liczba=1;

    for (int i=0; i<=40; i++,liczba += 0.1)
    {
        tab1[i] = liczba;
        tab2[i] = tab1[i];
        cout<<tab2[i]<<endl;
    }

    return 0;
}

A co do samego zapisu, to raczej napisałeś najprościej jak się da :)

komentarz 22 kwietnia 2016 przez Konrad Nabożny Stary wyjadacz (13,480 p.)
No proszę, nie wiedziałem nawet że w pętli można zawrzeć inne iteracje niż iteracja iteratora :)
0 głosów
odpowiedź 22 kwietnia 2016 przez Surykat Stary wyjadacz (14,780 p.)
Jakbyś się uparł, mógłbyś to zrobić na wskaźniku- brzydziej, ale szybciej- w kontekście twojego zadania, w zasadzie to bez znaczenia. :)

Podobne pytania

0 głosów
0 odpowiedzi 695 wizyt
0 głosów
1 odpowiedź 705 wizyt
0 głosów
1 odpowiedź 1,416 wizyt

93,430 zapytań

142,427 odpowiedzi

322,652 komentarzy

62,792 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...