Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Sergey123321
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 12
#1

ПОМОГИТЕ!С++ ! одномерный массив! - C++

01.11.2013, 20:11. Просмотров 404. Ответов 17
Метки нет (Все метки)

Одномерный массив Y(15) считать из файла 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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <math.h>
 
using namespace std;
 
ifstream f("math.txt"); 
 
 
int _tmain(int argc, _TCHAR* argv[])
{int Y[15],i,S,k;
f.open ("math.txt",ios::out);
S=0;
k=0;
for (i=0;i<15;i++)
    {f>>Y[i];
if (Y[i]<0)
    S=S+Y[i];
k=k++;}
cout<<S<<endl;
cout<<k<<endl;
    return 0;
}
0
Вложения
Тип файла: txt math.txt.txt (39 байт, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ПОМОГИТЕ!С++ ! одномерный массив! (C++):

Помогите с задачами: Одномерный массив, Строки, Двумерные массивы - C++
1. Одномерный массив Упорядочить элементы массива, удалив повторяющиеся элементы. 2. Строки Вводится строка,в конце ставится...

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов) - C++
Помогите решить задачку: Дана матрица 5х7, элементами которой являются значения символьного типа. Составить одномерный массив, содержащий...

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив - C++
ввести двумерный массив I . найти номера столбцов с положительными элементами и записать их в одномерный массив, отобразить его на экране. ...

Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив - C++
Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив. #include &lt;iostream&gt; using namespace std; ...

17
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
01.11.2013, 20:19 #2
Sergey123321, k=k++ это что такое? Если хотели увеличить переменную к на 1, то достаточно k++; также в цикле добавьте if (y[i] > 0) umn *= y[i]; а обменяете первый с последним с помощью swap(y[0],y[14]);

Добавлено через 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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <math.h>
 
using namespace std;
 
ifstream f("math.txt"); 
 
 
int _tmain(int argc, _TCHAR* argv[])
{int Y[15],i,S,k;
int umn = 1;
f.open ("math.txt",ios::out);
S=0;
k=0;
for (i=0;i<15;i++)
    {f>>Y[i];
if (Y[i]<0)
    S=S+Y[i];
if (y[i] > 0) umn *= y[i];
k=k++;}
swap(y[0],y[14]);
cout<<S<<endl;
cout<<k<<endl;
    return 0;
}
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
01.11.2013, 20:20 #3
В чём проблема?
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,232
01.11.2013, 20:21 #4
Цитата Сообщение от Folko Посмотреть сообщение
k=k++ это что такое?
это "неопределенное поведение"
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
01.11.2013, 20:23 #5
ValeryS,

Не по теме:

беспредел и анархия

0
Sergey123321
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 12
01.11.2013, 20:32  [ТС] #6
Да но программа по прежнему работает неверно ,показывает, что сумма неположительных равна (-12)!В чем дело?И k-это счетчик,который должен считать число неположительных и он кстати тоже не работает!
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
01.11.2013, 20:33 #7
Во-первых ты файл открываешь для записи, во-вторых попробую предположить что имя твоего файла имеет двойное расширение.
1
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
01.11.2013, 20:35 #8
Sergey123321, вы в след раз хоть говорите какие ошибки в коде
1
Sergey123321
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 12
01.11.2013, 20:39  [ТС] #9
Имя исправил,не помогло.А вот как считать txt задействовав библиотеку fstream я не знаю. Можете подсказать?
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,232
01.11.2013, 20:42 #10
Цитата Сообщение от Sergey123321 Посмотреть сообщение
И k-это счетчик,который должен считать число неположительных и он кстати тоже не работает!
еще бы он работал он к if (Y[i]<0) отношения не имеет
от тупо повторит i
Цитата Сообщение от Sergey123321 Посмотреть сообщение
Да но программа по прежнему работает неверно показывает что сумма неположительных равна -12!
сделай после
Цитата Сообщение от Sergey123321 Посмотреть сообщение
f>>Y[i];
C++
1
cout<< Y[i];
и посмотри на экране правильно ли у тебя считываются данные
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
01.11.2013, 20:44 #11
Sergey123321, F.open("text.txt");
0
Sergey123321
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 12
01.11.2013, 20:57  [ТС] #12
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <math.h>
 
using namespace std;
 
ifstream F("text.txt"); 
 
 
int _tmain(int argc, _TCHAR* argv[])
{int Y[15],i,S,k;
int umn = 1;
F.open ("text.txt",ios::out);
S=0;
k=0;
for (i=0;i<15;i++)
    {F>>Y[i];
cout<<"Y="<<Y[i]<<endl;
 
if (Y[i]<=0)
    k=k++;
    S=S+Y[i];
if (Y[i] > 0) umn *= Y[i];
}
swap(Y[0],Y[14]);
cout<<"S="<<S<<endl;
cout<<"k="<<k<<endl;
    return 0;
}
k=15
Y=858993...
S=-12
Ничего не понимаю...
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
01.11.2013, 21:01 #13
Sergey123321, файл правильно открыли?
0
Sergey123321
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 12
01.11.2013, 21:01  [ТС] #14
в каком смысле?
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,232
01.11.2013, 21:02 #15
Цитата Сообщение от Sergey123321 Посмотреть сообщение
Y=858993...
ну не читает у тебя файл в массиве мусор
почему не читает проверяй, может не открылся, может не найден, может открылся но не на чтение
после файловых операций обязательно проверка нужна
0
01.11.2013, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 21:02
Привет! Вот еще темы с ответами:

Переписать произвольный одномерный массив в другой массив в обратном порядке - C++
Помогите написать прогу, вот задание. Переписать произвольный одномерный массив в другой массив в обратном порядке.

Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию - C++
создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию. получилось вот что: #include...

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массив - C++
Организовать одномерный массив с вещественными числами и найти первый и последний отрицательный элемент массива;


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.