Автор Тема: последовательность из 10 натуральных чисел  (Прочитано 1085 раз)

0 Пользователей и 1 Гость просматривают эту тему.

WoWaN

  • Гость

Кто поможет за небольшое вознагрождение решить следующую задачу:

Пользователь вводит с клавиатуры последовательность из 10 натуральных чисел. Программа должна сообщить каких чисел встретилось больше: чётных, нечётных, либо их поровну. Если введено не натуральное число, то программа должна сообщить о некорректном вводе и попросить снова ввести подходящее натуральное число.
 

marsupilami

  • Гость
Мое решение))
Цитировать
#include <stdio.h>
int main ()
{
    int a,i,s1,s2;
    s1=s2=0;
    for(i=1;i<=10;i++)
         {
        printf("vvedite natur chislo: \n");
        scanf("%d",&a);
           if (a>0)
             {
        if(a%2==0)
            s1++;
            else   {
        if((a-1)%2==0)
            s2++;
                    }
             }
               else
               {
                    printf("oshibka! chislo %d < 1!\n",a);
                    i--;
                    continue;
               }
            }
    if (s1>s2)
        printf("\n\nchet chisel bolshe \n");
        else {
          if (s2>s1)
        printf("\n\n nechet chisel bolshe \n");
           else
        printf(" \n chisel porovnu \n");
        }
    return 0;
}
 

xuligan

  • Гость

Могу предложить такое решение:
На Си:
#include <stdio.h>
int main ()
{
    int chet=0,nechet=0,a,i=1;
    while(i<=10)
       {
           printf("Vvedite %d chislo: ",i);
           scanf("%d",&a);
           if(a>0){
            if(a%2==0){
                chet++;
            }
            else{
            nechet++;
            }
            i++;
           }else {
             printf("Vi vveli NE naturalnoje chislo. Povtorite vvod\n");
             }
       }
       if(chet>nechet) {
printf("Chetnyh chisel bolshe\n");
} else if(chet<nechet) {
printf("Nechetnyh chisel bolshe\n");
} else {
printf("Kolichestvo chetnyh i nechetnyh chisel odinakovoe\n");
}
return 0;
}
На Си плюсах:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a,i=1,chet=0,nechet=0;
while(i<=10) {
cout << "Vvedite " << i << " chislo: ";
cin >> a;
if(a>0) {
if(a%2==0) {
chet++;
}
else {
nechet++;
}
i++;
} else {
cout << "Vi vveli ne naturalnoje chislo. Povtorite vvod" << endl;
}
}
if(chet>nechet) {
cout << "Chetnyh chisel bolshe" << endl;
} else if(chet<nechet) {
cout << "Nechetnyh chisel bolshe" << endl;
} else {
cout << "Kolichestvo chetnyh i nechetnyh chisel odinakovoe" << endl;
}
return 0;
}
 

shamilmirnii

  • Гость

Эта задача работает только с целыми числами, дробные она не определяет. Как сделать с дробными числами
Цитировать
Если введено не натуральное число, то программа должна сообщить о некорректном вводе
 

 

В быстром ответе можно использовать BB-теги и смайлы.

Имя: E-mail: