Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2008, 16:00   #1
Zid@ne
Пользователь
 
Регистрация: 18.01.2008
Сообщений: 49
Печаль работа в ДОС, C++

У меня небольшой опыт работы в Pascal. С++ хочу понять - не получается. изучаю ДОСовскую версию. Вот такая задачка:
Найти сумму кубов всех отрицательных элементов массива A={a[i]}.
для Pascal код несложный, в досовском СИ вот так получилось:

Код:
#include<stdio.h>
#include<conio.h>
void main(void)
{
float a[20], int summa,i;
clrscr();
randomize();
for (i=1) to 20
{
 a[i]=random(20);
....
дальше незнаю что и как....
что делать дальше?
Zid@ne вне форума Ответить с цитированием
Старый 15.12.2008, 16:34   #2
Zid@ne
Пользователь
 
Регистрация: 18.01.2008
Сообщений: 49
По умолчанию

ребят помогите. не получается...
Zid@ne вне форума Ответить с цитированием
Старый 15.12.2008, 17:04   #3
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

Код:
#include <iostream.h>

main()
 { int a[10],sum;
  randomize();
    for (int i=0;i<9;i++)
       {a[i]=random(10)-5;
        cout<<a[i]<<endl;       //выводишь массив
        if (a[i]<0) sum+=a[i]*a[i]*a[i];     //можно через функцию pow(a[i],3)
        }
  cout<<sum;
     


 }

Последний раз редактировалось bondik; 15.12.2008 в 17:06.
bondik вне форума Ответить с цитированием
Старый 15.12.2008, 17:07   #4
Gorillas
Новичок
Джуниор
 
Регистрация: 15.12.2008
Сообщений: 2
По умолчанию

Zid@ne значит так я понял что у тебя дан масив размером в 20 элементов и тебе нужно посчитать сумму отрицательных элементов из этого масива возведённых в 3 степень?
Gorillas вне форума Ответить с цитированием
Старый 15.12.2008, 17:07   #5
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

Только если фиксированная размерность массива,если же нет то через указатели.
bondik вне форума Ответить с цитированием
Старый 15.12.2008, 21:17   #6
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Во первых у тебя неверный синтаксис,в о вторых, индексы масивов в С++ начинаются с 0, т.е. масив размерностью N будет иметь ячейки с номерами 0,1,2,3,4,..,n-1. (однако механизма защиты от лазинья куда попало там нет, и праграмма бесприпятственно считает данный из той области памяти, нгде ожидалось наличие элементов масива с индексами n, n+1, n+2,... n+*очень много*, что гарантированно приведет к непредсказуемым ошибкам.

Что касается синтаксиса - бондик написал тебе правильный код. (насчет правильности алгоритма не знаю, не проверял, даже не смотрел особо).

Могу посоветовать еще кое-что, не делай вот так (как это у бондика)

Код:
if (a[i]<0) sum+=a[i]*a[i]*a[i];
Если инструкции блока if вне фигурных скобок, то компилятор понимает как инструкции к ифу только первую строку, остальное он к ифу не относит, и если ты вдруг будет отлаживать код, и тебе придет в голову добавить еще несколько инструкций к ифу, то ты, практически гарантированно, забудеш поставить фигурные скобки, и будеш потом долго искать ошибку, по этому я бы порекомендовал ставить их у ифов всегда.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 15.12.2008, 22:27   #7
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

в паскале вроде тоже без бегина и енда только первая строчка к циклу относится и к ифу

Последний раз редактировалось bondik; 16.12.2008 в 12:30.
bondik вне форума Ответить с цитированием
Старый 16.12.2008, 18:26   #8
Zid@ne
Пользователь
 
Регистрация: 18.01.2008
Сообщений: 49
По умолчанию

я учту, но в Си под ДОС не проходят такие решения... что только не пробовал... и уже if (a[i]<0) sum+=a[i]*a[i]*a[i] даже в этой строке ошибка вылазит...

Последний раз редактировалось Zid@ne; 16.12.2008 в 18:35.
Zid@ne вне форума Ответить с цитированием
Старый 16.12.2008, 19:07   #9
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Так у тебя не компилится что ли?! Оо Или какая ошибка то? Говори все по факту!
StarWorm вне форума Ответить с цитированием
Старый 17.12.2008, 04:50   #10
Zid@ne
Пользователь
 
Регистрация: 18.01.2008
Сообщений: 49
По умолчанию

Цитата:
Сообщение от StarWorm Посмотреть сообщение
Так у тебя не компилится что ли?! Оо Или какая ошибка то? Говори все по факту!
да, не компилится... много ошибок выдает... переменные типа не такие и т.д..
Zid@ne вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы структур.СИ под ДОС. Zid@ne Общие вопросы C/C++ 2 12.12.2008 18:16
создать драйвер дос для клавы assembler assemb Помощь студентам 2 02.11.2008 19:35
Как сделать синхронизацию с Дос - программой semantics Общие вопросы Delphi 1 21.04.2008 21:16
ДОС в паскале nikleb Паскаль, Turbo Pascal, PascalABC.NET 2 07.03.2008 22:50
Помогите пожалуйста с укр.языком в Дос Dimasc Операционные системы общие вопросы 6 11.12.2007 17:50