Dev-C++
Zad. Obliczyć sumę elementów podzielnych przez 2 lub 7 i różnych od zera.
Tablica jest wypełniana przez użytkownika, rozmiar tablicy dowolny, elementy nie powinny być typu zmiennoprzecinkowego.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Nie do końca rozumiem treśc zadania. Wynika z niej by obliczyć sumę elementów podzielnych przez 2 lub 7 z wyłączeniem 0. Tyle, że 0 w dodawaniu jest neutralne. Chyba że w zadaniu chodzi, by program zwrócił ILOŚĆ a nie SUMĘ alemetów podzielnych przez te liczby. Wtedy ignorowanie zera jest uzasadnione. Program jest oparty o ten pierwszy wariant. Jeżeli ma być inaczej to pisz na PW.
Kod:
#include <cstdlib>
#include <iostream>
//Copyright <C> by kamas248 September 2010
using namespace std;
int main(int argc, char *argv[])
{
int tab[100]; //inicjalizacja zmiennych
int tab_l;
int wynik = 0;
cout << "Podaj, ile liczb wprowadzisz: ";
while(!(cin >> tab_l) || tab_l>100) { //Weryfikacja wejścia
cin.clear();
cin.ignore(100, '\n');
cout << "\nWprowadzono bledne dane ! Podaj liczbe ponownie: ";
}
cout << "\nPodaj po spacjach te liczby: ";
for (int i=0;i<tab_l;i++) {
while(!(cin >> tab[i])) { //Weryfikacja wejścia i zapisanie tablicy
cin.clear();
cin.ignore(100, '\n');
cout << "\nWprowadzony " << i+1 << " znak nie jest liczba calkowita ! Podaj ponownie ten znak i pozostale: ";
}
}
for (int i=0;i<tab_l;i++) {
if (tab[i] % 2 == 0 || tab[i] % 7 == 0) {
wynik=wynik+tab[i];
}
}
if (wynik==0) {
cout << "Zadna z podanych liczb nie jest podzielna przez 2 lub 7 (z wykluczniem 0). \n";
}
else {
cout << "\nSuma elementow podzielnych przez 2 lub 7 wynosi: ";
cout << wynik << "\n";
}
system("PAUSE");
return EXIT_SUCCESS;
}
Liczę na naj ;)