Тема: Помогите бедным студентам сделать контрольную

Ответить в теме
Страница 3 из 3 ПерваяПервая 1 2 3
Показано с 41 по 48 из 48
  1. Вверх #41
    Посетитель
    Пол
    Мужской
    Возраст
    35
    Сообщений
    127
    Репутация
    16
    Цитата Сообщение от A6oJlTyc Посмотреть сообщение
    ...
    3)написать программу для нахождения суммы отрицательных элементов массива AD, содержащего 40 элементов.
    Получилось что-то вроде такого:
    PHP код:
    list=Array.new(40).map{|itemitem=rand(50)%8-2}.sort!
    sum=0    
    list.each do |var|
         break 
    unless var < 0
         sum 
    += var
         print 
    "+(#{var})"
    end
    puts 
    "= #{sum}" 
    Вот помог, Вам осталось только конвертировать на нужный вам язык.
    P.S. Паскаль не помню... :-/


  2. Вверх #42
    Частый гость Аватар для Lerer
    Пол
    Мужской
    Адрес
    она же
    Сообщений
    731
    Репутация
    839
    Цитата Сообщение от A6oJlTyc Посмотреть сообщение

    3)написать программу на языке pascal для нахождения суммы отрицательных элементов массива AD, содержащего 40 элементов.

    заранее огромное человеческое спасибо)
    для BP 7.0

    uses crt;
    var AD:array[1..40] of integer;
    i:byte;
    s:integer;
    begin
    {ввод эл-тов массива}
    for i:=1 to 40 do read(AD[i]);
    s:=0;
    {вычисление суммы}
    for i:=1 to 40 do
    if AD[i]<0 then s:=s+AD[i];
    write('s=',s);
    end.

    И все-таки советую учить предмет. Нельзя во всем спрятаться за чужой спиной..

  3. Вверх #43
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    38
    Сообщений
    2,915
    Репутация
    170
    Цитата Сообщение от rооt Посмотреть сообщение
    Получилось что-то вроде такого:
    PHP код:
    list=Array.new(40).map{|itemitem=rand(50)%8-2}.sort!
    sum=0    
    list.each do |var|
         break 
    unless var < 0
         sum 
    += var
         print 
    "+(#{var})"
    end
    puts 
    "= #{sum}" 
    Вот помог, Вам осталось только конвертировать на нужный вам язык.
    P.S. Паскаль не помню... :-/
    Тогда уже
    Код:
    sum = list.select{|x| x<0}.inject{|acc, x| acc+x}


    А на хаскеле вообще красотень .
    Код:
    Prelude> sum.filter(<0) $ [-20..19]
    -210
    Последний раз редактировалось Яр; 28.01.2010 в 20:59.
    ~ Motivation is what gets you started. Habit is what keeps you going.

  4. Вверх #44
    Посетитель
    Пол
    Мужской
    Возраст
    35
    Сообщений
    127
    Репутация
    16
    Цитата Сообщение от Яр Посмотреть сообщение
    Тогда уже
    Код:
    sum = list.select{|x| x<0}.inject{|acc, x| acc+x}

    а я с итератором написал хотел получить ответ ввида
    Код:
    +(-n)+...+(-n+1) = sum
    p.s. жаль latex'а нет

  5. Вверх #45
    Постоялец форума Аватар для Яр
    Пол
    Мужской
    Адрес
    Odessa.Ua
    Возраст
    38
    Сообщений
    2,915
    Репутация
    170
    rооt, Ага. А вот ещё можно и так извратиться:

    Код:
    sum = eval( '(%s)' % list.select{|x|x<0}.join(')+(') )
    А строка внутри eval-a как раз будет такая ((-nk)+...+(-nk+m)). Хотя можно и без скобок вовсе. Но eval -- это в любом случае опасно
    ~ Motivation is what gets you started. Habit is what keeps you going.

  6. Вверх #46
    Посетитель
    Пол
    Мужской
    Возраст
    35
    Сообщений
    127
    Репутация
    16
    Цитата Сообщение от Яр Посмотреть сообщение
    rооt, Ага. А вот ещё можно и так извратиться:

    Код:
    sum = eval( '(%s)' % list.select{|x|x<0}.join(')+(') )
    А строка внутри eval-a как раз будет такая ((-nk)+...+(-nk+m)). Хотя можно и без скобок вовсе. Но eval -- это в любом случае опасно

  7. Вверх #47
    Новичок Аватар для SeM13
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    50
    Репутация
    14
    А вот решение на шарпе с использованием linq. Коротко и красиво

    Код:
    int sum = array.Where(s => s < 0).Sum();

  8. Вверх #48
    Новичок
    Пол
    Мужской
    Возраст
    40
    Сообщений
    18
    Репутация
    13
    Кто у тебя преподователь???


Ответить в теме
Страница 3 из 3 ПерваяПервая 1 2 3

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения