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

поставить элемент на указанную позицию,файлы,cи - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Телефонный справочник C (без классов) http://www.cyberforum.ru/cpp-beginners/thread527198.html
Написать информационную систему "Телефонный справочник" со следующими требованиями: - динамическое изменение размеров массива для хранения информации; - автоматическая загрузка данных из файла в программу при старте программы; - автоматическая выгрузка данных из программы в файл при завершении программы; - добавление, изменение и удаление информации об абоненте; - поиск абонента по номеру...
C++ Проблемка с указателями Нужно перегрузить "+" чтобы он делал слияние 2ух массивов(элементы не повторялись) вот код: #include <iostream.h> #include <stdio.h> class mas {int n,*a; public: mas(); ~mas(); http://www.cyberforum.ru/cpp-beginners/thread527195.html
Определить класс, объектами которого являются подмножества фиксированного множества целых чисел C++
Определить класс, объектами которого являются подмножества фиксированного множества целых чисел. Это фиксированное множество определяется как статический массив. Конструктор строит подмножество с помощью массива целых чисел, составляющих подмножество. Перегрузить операцию ++ для перебора подмножеств. Применить для перебора подмножеств множества {1,2,…,100}, содержащих, по крайней мере, одно...
C++ Копирование содержимого одной строки во вторую
Напишите программу, копирующую содержание одной строки во вторую.
C++ Препроцессор неправильно интерпретирует команды #if #else http://www.cyberforum.ru/cpp-beginners/thread527167.html
#define __LINUX_OS__ #if defined__LINUX_OS__ #include <unistd.h> #elif defined __WINDOWS_OS__ #include <windows.h> #else #error "cross_platform_func.cpp defined only for LINUX OR WINDOWS" #endif
C++ время за которое сортируется массив Подскажите как узнать время за которое отсортировался массив (mas) Внизу программы где используется InsertSort и массив уходит на сортировку(чтобы после в консоле вывелось на экран время сортировки) using namespace std; const int MAX=1000; //////////////////////////////////////////////////////////////////////////////// void insertSort(int* a, int size) { int i, j, tmp; подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.03.2012, 13:46     поставить элемент на указанную позицию,файлы,cи
Цитата Сообщение от лизи Посмотреть сообщение
после того как ввожу позицию вылетает
так и должно быть. переделали add() так, что создаете массив размером n, когда n неинициализировано (не имеет значения).
пробуйте:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
 #include <stdio.h>  //onn libraries
#include <stdlib.h>
#include <time.h>
 
 
int create(char *name);
void output(char *name);
void add(char *name, int n);
float proizved(char *name);
 
 
int create(char *name)
{
FILE *in;
int n,i;
float a;
 if ((in=fopen(name,"w"))!=NULL)
        {
         printf("Please, input n\n=>");
         scanf("%d",&n);
          for(i=0;i<n;i++)
          {
           printf("\na=");
           scanf("%f",&a);
           fwrite(&a,sizeof(float),1,in);
 
          }
 
 
        }
        else
        printf("Error! File not created!");
  fclose(in);
  return n;
}
 
void output(char *name)
{
FILE *out;
float a;
if((out=fopen(name,"r"))!=NULL)
        {
          while(!feof(out))
           {
            fread(&a,sizeof(float),1,out);
             if(!feof(out))
              printf("%f   ",a);
           }
          printf("\n");
 
        }
       else
       printf("Error output!");
 fclose(out);
}
 
 float proizved(char *name)
 { float P=1,a;
  FILE *out;
 
if((out=fopen(name,"r"))!=NULL)
        {
          while(!feof(out))
           {
            fread(&a,sizeof(float),1,out);
             if(!feof(out))
              P*=a;
           }
        }
       else
       printf("Error proived!");
 
 return P;
 fclose(out);
 
 }
 
 void add(char *name, int n)
 {
  int N,i;float P;
 
 
        P=proizved(name);
         printf("\nPlease, input N\n=>");
         scanf("%d",&N);
                 float *a=(float*)malloc (n* sizeof(float));
                 FILE *out;
                 if((out=fopen(name,"r"))!=NULL)
                 {
                         for(i=0; i<n; i++)
                                 fread(&a[i],sizeof(float),1,out);
                 }
                 else
                         printf("Error adding!");
                 fclose(out);
                 FILE *in;
                 if ((in=fopen(name,"w"))!=NULL)
                 {
                         for(i=0;i<n && i<N;i++)
                         {
                                 fwrite(&a[i],sizeof(float),1,in);
                         }
                         fwrite(&P,sizeof(float),1,in);
                         for(;i<n;i++)
                         {
                                 fwrite(&a[i],sizeof(float),1,in);
                         }
        }
        else
        printf("Error adding!");
                fclose(in);
                free(a);
 }
 
int main()
{int flag, n;
do{
n=create("example");
add("example", n);
output("example");
 printf("\nInput '0' if you want to exit=>");
 scanf("%d",&flag);
} while(flag!=0);
return 1;
}
 
Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru