ЛЮДИ, разбирающиеся в С++ ХЕЛП

Punker

Новичок
Короче нужна срочно помощь, у меня на руках есть 2 лабы (там 2 програмки надо написать по массивам), а я в душе не чаю, как это сделать... Если есть люди способные помочь, ПОМОГИТЕ пожалуста!!! Ну очень надо, иначе зачёта не увидеть мне(((( :) :) :)
 

evil_genius

playing God
Нееет. Надо самому такие вещи делать. Программирование - сила. Хочешь быть крутым - сам разбирайся, книжек почитай. Тебе полезно. Как и всем остальным...
 

Hikari

I am a true ^_^
Препод задание своё точно решит! А потом посмотрит кто такой умный когда ему сдавать принесут ))))
А вообще выложил бы задание мы тут уже комуто что-то решали, весело было, народ такую фигню сделать не может.
 

Yfev

Не сметь стрелять по Багдаду!!!
Короче нужна срочно помощь, у меня на руках есть 2 лабы (там 2 програмки надо написать по массивам), а я в душе не чаю, как это сделать... Если есть люди способные помочь, ПОМОГИТЕ пожалуста!!! Ну очень надо, иначе зачёта не увидеть мне(((( :) :) :)
Я тоже помощи просил))) Зайди во флуд и найди мою тему)))
 

Punker

Новичок
Я в С++ вообще НОЛЬ((( Нуб короче... товарищи помогите плиз))) Очень надо)

Нееет. Надо самому такие вещи делать. Программирование - сила. Хочешь быть крутым - сам разбирайся, книжек почитай. Тебе полезно. Как и всем остальным...
Я не хочу быть крутым и вообще как то быть связанным с компами, не моё это, как выяснилось... Я хочу зачёт получить... А когда эту темку рассказывали, я с YFEVом гулял где то... короче ничерта не понял в этой теме... Товарисчи поможите плиз... :blink:


Задачи следующие :

№1 :
В одномерном массиве, состоящем из n вещественных элементов вычислиь:
1) - сумму отрицательных элементов массива
2) - произведение элементов массива
3) - упорядочить элементы массива


№2
В многомерной матрице найти номера строк, где встречаюстяя отрицательные элементы.
(задача на многомерные массивы)



Ну поможите пожалуста))) :blink:
 

evil_genius

playing God
А только на C++ и всём этом семействе можно?

Или может что-нибудь вроде Delphi разрешено?
 

Hikari

I am a true ^_^
На Delphi легко! А вот С++...
И в чём же принципиальная разница решения данной задачи на С и Делфях? Предпологаю в том что ты незнаешь С )))))
Кстати очегь похожие были задачки надо поискать старую темку.
 

Hikari

I am a true ^_^
Нашёл ))) не люблю с 0 писать
Короче вот 1. 2 тоже полная фигня завтро напишу, только я не помню как многомерные массивы из программы запонять )))
#include <iostream.h>
#include <conio.h>
#define n 10
void main()
{int a[n]={2, -4,3,21,-13,6,8,-10,13,-44 };
int c=0,S=0;
for(int i=0;i<n;i++)
{if(a<0) c+=a;
S*=a;
}
cout<<"summa otricatelnih "<<c;
cout<<"\nproizvedenie elementov: "<<S<<"\n";
for(int j=0;j<n;j++)
{for(int k=j;k<n;k++)
if (a[k]<a[j]){S=a[k]; a[k]=a[j]; a[j]=S;}}
for(int i=0;i<n;i++)
cout <<" "<<a;
getch();
}
 

Mike22

Местный
А разницу между С и С++ вы отметаете?
Может нужно обязательно продемонстрировать применение методов ООП в решении задачи?
 

Hikari

I am a true ^_^
А разницу между С и С++ вы отметаете?Может нужно обязательно продемонстрировать применение методов ООП в решении задачи?

Ага делать больше нечего.
Задачи где надо это продемонстрировать обычно немного другово плана.
 

evil_genius

playing God
Собсна так и есть, не знаю...
Хотя синтаксис не главное... главное логика... а тут она элементарная :blink:

Алгоритм здесь легко составить [я раньше такие инструкции называл логическим псевдоязыком]. Но вот написать программу без знания операторов я не смогу. Тем более в семействе C. Это не тот язык, где немного потыкавшись в ссылки help-файла можно легко написать первую простенькую программку. Печально.
 

Mike22

Местный
... Тем более в семействе C. Это не тот язык, где немного потыкавшись в ссылки help-файла можно легко написать первую простенькую программку. Печально.
Удивлён что синтаксис С вызывает какие-то сложности. :blink:
В чём трудность ?
Паскаль более строг, в С свободы гораздо больше и, как мне кажется, программировать на нём легче.
 

BuG2BuG

Демон FreeBSD
Решение задачи 1.
Внимание! Программер [то есть я] - извращенец, он решил 1 и 2 пункт задачи одним циклом без тела. Никогда так не делайте. :blink:

Код:
#include <stdio.h>
#include <stdlib.h>

int doublecmp(const void *a, const void *b) {
return *(double *)a - *(double *)b;
}

int main(void) {
double b[] = { 3, -2, 1, 4, 3, -1 },*a=&b[0], sum=0,mul=1;
int len=sizeof(b)/sizeof(double),i;
qsort(a, len, sizeof(double), doublecmp);
printf("SORTED: ");
for(i=0;i<len;i++) printf("%f ", b[i]);
printf("\n");
for(--a;len-->0;sum+=*(a+=1)<0?*a:0,mul*=*a);
printf("SUM = %f, MUL = %f\n", sum, mul);
return 0;
}

Проверено на "gcc (GCC) 3.4.6 [FreeBSD] 20060305" и "gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12)".
За работу на Борландах и МСВЦ не ручаюсь.

С Уважением,
 

Punker

Новичок
хм... а ежели всё простенько сделать, типа стандартенько, на уровне табуретки...?)))) А то не поверят же)
 

BuG2BuG

Демон FreeBSD
Покури маны. Тут нет ничего сложного. Рекомендую книжку Брайана Кёрнигана и Денниса Ритчи "Язык программирования C".

Вот эта строчка:

Код:
for(--a;len-->0;sum+=*(a+=1)<0?*a:0,mul*=*a);

делает следующее: перемещает указатель на массив на единицу памяти назад. Затем циклически увеличивает на единицу этот указатель, сравнивая его значение с нулём. Если оно меньше - идёт сложение с переменной sum, в противном случае с sum складывается нуль. И дальше идёт умножение переменной mul [которая изначально равна единице] на значение по указателю a. Разве тут есть что-то непонятное? По-моему всё абсолютно чётко.

С Уважением,
 
Сверху