• 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?

Object Storage Arubacloud
0 głosów
233 wizyt
pytanie zadane 21 kwietnia 2016 w C i C++ przez Konrad Nabożny Stary wyjadacz (13,460 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,460 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,460 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,460 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 537 wizyt
0 głosów
1 odpowiedź 487 wizyt
0 głosów
1 odpowiedź 1,108 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...