Помощь - Поиск - Пользователи - Календарь
Полная версия: ЗАДАЧКА в С > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
@ Alenka @
Дан массив из n четырехзначных натуральных чисел.Вывести на экран только те,у которых сумма первых двух цифр равна сумме двух последних.
помагите сделать в паскале
граф Монте-Кристо
Выкладывайте свои идеи и наработки. Если их нет и нет желания делать что-либо самостоятельно - обращайтесь в платный раздел.
@ Alenka @
function Summ(n:integer):boolean;
var a,b,c,d:byte;
begin
a:=n div 1000;
b:=n div 100 mod 10;
c:=n div 10 mod 10;
d:=n mod 10;
if a+b=c+d then Summ:=true
else Summ:=false;
end;
В программе
for i:=1001 to 9999 do
begin
if Summ(i) then writeln(i);
if i mod 20=0 then readln;//это чтоб все числа увидеть
end;
граф Монте-Кристо
Функция вроде правильно написана,а вот в программе 2 косяка. Во-первых, почему i от 1001 до 9999? У Вас этот массив уже дан,и числа там конкретные,а не все возможные четырёхзначные.
Во-вторых, Вам же надо на С писать. smile.gif Pascal - это, конечно, хороший язык, но, всё-таки, не С.
Sergio Ramos
C++
Код
#include "iostream"

using namespace std;

bool f (int x) {
    int a,b,c,d;
    a=x/1000;
    b=(x-a*1000)/100;
    c=(x-a*1000-b*100)/10;
    d=x%10;
    if(a+b==c+d) return true;
    else return false;}

int main () {
    int n;
    cin >> n;
    int *a=new int [n];
    for (int i=0;i<n;i++) {
        cin >> a[i];
        if (f(a[i])) cout << a[i] << " ";
    }
return 0;}

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.