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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2013, 19:23   #1
rafael999
Пользователь
 
Регистрация: 21.09.2013
Сообщений: 17
По умолчанию одномерный массив(с++)

Здравствуйте.
В общем мне нужно чтобы программа находила в массиве из 15 элементов (записал текстовый файл под название yes.txt и сохранил в папке объекта) максимальный из отрицательных элементов и поменять его местами с первым.
В общем программу написал, а тут не знай какая ошибка.
Код:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <fstream>
#include <math.h>
using namespace std;
fstream f;
int main()
{int x[15],min,temp,i;
 f.open( "c:\\yes.txt", fstream::in );
  min=x[0];
  for(i=0;i<15;i++)
  {f>>x[i];
  if((x[i]<min)&&(min<0))
min=x[i];}
  temp=min;
  min=x[0];
  x[0]=temp;
  cout<<"min"<<min<<endl;
  for(i=0;i<15;i++)
  {cout<<"x["<<i<<"]="<<endl;
  cout<<x[i]<<endl;
 }
  f.close();
    return 0;
}
Выпригивает вот эта ошибка в окошке "Run-Time Check Failure #3 - The variable 'x' is being used without being initialized"
Спасибо
rafael999 вне форума Ответить с цитированием
Старый 01.11.2013, 22:06   #2
Кирилл Романов
Пользователь
 
Регистрация: 30.10.2013
Сообщений: 12
По умолчанию

Прости парень, но код написан безобразно
Кирилл Романов вне форума Ответить с цитированием
Старый 01.11.2013, 23:35   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно пишет.
Ты перед считкой массива, пытаешься с его элементами работать. Компиль понимает что там будет мусор, и загодя предупреждает тебя об этом.
Код:
int main(){
 int x[15]={0},min=0,temp,i;
 f.open( "c:\\yes.txt", fstream::in );
  for(i=0;!f.eof() && i<15;i++)  {
    f>>x[i];
    if(x[i]<x[min] && x[min]<0 ) min=i;
  }; f.close();

  temp=x[min];
  x[min]=x[0];
  x[0]=temp;

  cout<<"min"<<min<<endl;

  for(i=0;i<15;i++) cout<<"x["<<i<<"]="<<x[i]<<endl;
 
  
  system("pause");

    return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы... Richik123 Microsoft Office Excel 1 16.10.2013 15:45
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40