Форум программистов, компьютерный форум CyberForum.ru

не могу разобраться в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Сформируйте два массива. Получите третий массив по правилу: http://www.cyberforum.ru/cpp-beginners/thread840623.html
Сформируйте два массива, по k элементов в каждом, с помощью датчика случайных чисел. Получите третий массив по правилу: каждый элемент нового массива равен произведению модулей соответствующих элементов исходных массивов со знаком элемента, большего по модулю. Найдите в новом массиве сумму положительных и количество отрицательных элементов. Выведите на ...
C++ Дан символьный файл f. Считая, что количество символов в слове не превосходит 20, определить сколько в файле имеется слов, состоящих из одного, 2, 3 и Добрый день,помогите пожалуйста сделать Дан символьный файл f. Считая, что количество символов в слове не превосходит 20, определить сколько в файле имеется слов, состоящих из одного, 2, 3 и.т.д. символов. найти количество слов в файле f и вывести столбцевую гистограмму длин слов http://www.cyberforum.ru/cpp-beginners/thread840622.html
Класс С++. Вычисление разницы в возрасте для двух студентов C++
Вычисление разницы в возрасте для двух студентов (-). int operator - (CStudent &a); ------------------------------------ int CStudent::operator -(CStudent &a) { if (year=!0) return (year - a.get_year()); else cout<<"\nНевозможно перевести студента на следующий курс"; } --------------------------------------
флаг заполнения масива через перегрузку C++
подскажите пожалуйста, у меня есть два класа базовый и производный и в том и вот у меня есть метод заполнения масива и есть задания, надо через перегрузку реализовать флаг (bool) заполнения массива 1 если заполнено и 0 если нет, что имено я немогу понять так ето то как ето реализовать через перегрузку, ета переменая по моему заданию должна находится в производном класе, но я не как немогу понять...
C++ Программа, выводящая на экран информацию о наличии товаров на складе http://www.cyberforum.ru/cpp-beginners/thread840609.html
Используя структуры, составить программу, выводящую на экран информацию о наличии товаров на складе (наименование, артикул, дата получения, единица измерения, количество, цена).
C++ Найти максимальный элемент массива и вывести последний четный элемент Короче нужно чтобы програма нашла максимальный елемент масива и выводила на екран последное четное число масива #include<iostream> using namespace std; int main() {int i,n,z; float *a; float s,max=0; cout <<"Vvedite k-st elementov masiva "; cin>>n; a=(float*)malloc(n*sizeof(float)); подробнее

Показать сообщение отдельно
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
17.04.2013, 16:16     не могу разобраться в программе
Здравствуйте!
Программа сортирует методом пузырька числа с плавающей точкой,которые находятся в файле Input.txt
Помогите пожалуйста разобраться с кодом программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
 
 
void BubbleSortchisel(double *arr, int n) 
{
    double temp; 
    while(--n) 
    for (int i=0; i<n ;i++) 
    {
            if ( *(arr+i) > *(arr+i+1) ) 
        {
             temp = *(arr+i);
         *(arr+i) = *(arr+i+1);
         *(arr+i+1) = temp;
         }
        }
}
 
int main()
{
    FILE  *fin;
    fin=fopen("Input.txt","r");
    int amount = 0;
    int k=0;
    double *darr; 
    fseek(fin,0,SEEK_END);
    int fsize = ftell(fin);
    fseek(fin,0,SEEK_SET);
   if ( !(darr = (double *)calloc(fsize,sizeof(double)) ) )
    {
         fprintf(stderr,"osibka raspredeleniya pamyati!\n");
    }
    if (fin==NULL)
    {
        fprintf(stderr,"oshibka otkrutiya faila dlya chteniya\n");
    } 
    for ( ; fscanf (fin, "%lf", darr+amount) != EOF ; ++amount );       
    
        printf("After sorting:\n");
    BubbleSortchisel(darr , amount);
    
    for (int i=0; i<amount; i++)
    {printf("%4.4lf\n", *(darr+i));
    }
    free(darr);
}
Я не понимаю:
1) почему в 10 строчке в цикле while используется "--n".n-это количество элементов в массиве или что?
2) как работает 40 строчка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru