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

ошибка сегментации - C++

Восстановить пароль Регистрация
 
Qwed
Сообщений: n/a
16.12.2010, 18:20     ошибка сегментации #1
Всем привет!

Я никогда не программировал, а тут решил склепать небольшую программку. Да вот только не могу понять почему выскакивает ошибка((
Программка должна считывать значение из файла в одномерный массив (т.к. я только учусь - поставил себе такую задачу). Затем из одноменого преобразовывать его в двухмерный. при этом пользователь выбирает сам "разрешение" изображения (имеется ввиду какбы картинка в текстовом файле), после чего задаются переменные x и y. Первый случай - 200х100. Он работает нормально, без ошибок верный результат. Второй случай - 512х600 (потому что в txt файле в сторке не может быть больше 1024 символов, после каждого символа стоит пробел). Тут и возникает ошибка. Сначала программка нормально считывает, а когда доходит до двухмерного массива - выдает ошибку сегментации.
Помогите решить проблемку.
Заранее благодарен
Вложения
Тип файла: rar training.rar (3.0 Кб, 6 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 18:20     ошибка сегментации
Посмотрите здесь:

Ошибка сегментации C++
Непонятная ошибка сегментации C++
Ошибка Сегментации C++
C++ Ошибка сегментации.
Ошибка сегментации C++
C++ ошибка сегментации
C++ Ошибка сегментации
Непонятная ошибка сегментации C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qwed
Сообщений: n/a
16.12.2010, 22:08     ошибка сегментации #2
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
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
 
int main ()
{
  char a;
  string d;
  int col, str, k;
  long int w, i, x, y;
  do{
    cout << "What size of your image?  (a/b/c/u)" << endl;      //  Here you should choose an image size
    cout << "a) 200x100 ;" << endl;                             //  or enter your own size
    cout << "b) 800x600 ;" << endl;                             //
    cout << "c) 1280x1024 ;" << endl;
    cout << "u) user size ;" << endl;
    cin >> a ;
    switch (a)
        {
         case 'a':
              x=200;
              y=100;
              break;
         case 'b':
              x=512;
              y=600;
              break;
         case 'c':
              x=1280;
              y=1024;
              break;
         case 'u':
              cout << "Enter your image size (length x height)"<< endl;
              cin >> x;
              cin >> y;
              break;          
         }
    if ((a != 'a') && (a != 'b') && (a != 'u') && (a != 'c'))               // if incorrect entry
          {
            cout <<endl<< "Faulty selection. Repeat entry? (y/n) "<< endl;
            cin >> d;
            }
    else 
         {
         cout << "Your image size: " << x << " x " << y << endl; 
         d = 'n';
            }
  } while (d=="y");
  
    
    w=x*y;
    cout <<x<<' '<<y<<' '<<w;                   // size of 1D array
    long int v[w];              // introduction our array
  ifstream f ("image.txt");     // reading from file "image.txt" in 1D array
  for(i = 0; i < w; ++i)
    {
     f >> v[i];
     cout << v[i] << ' ';
     }
     
   cout <<endl<< sizeof (v)/sizeof (long int) << ' ' << v[275] << endl;
   
  i=0;
  int C[x+1][y+1];                                                                 // сдесь выдает ошибку
  cout << sizeof (C)/sizeof (int)<< endl;
  
  for (int str = 0; str < x; ++str)                 // transformation in 2D array
     for (int col = 0; col < y; ++col)
         {
          C[str][col]=v[i];
          i=i+1;
          cout << C[str][col] <<' '<<col<<' '<< str<<endl;       
                }
}
вот код.
Yandex
Объявления
16.12.2010, 22:08     ошибка сегментации
Ответ Создать тему
Опции темы

Текущее время: 12:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru