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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2015, 22:27   #1
horosho15
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 15
По умолчанию Работа с массивами С++.

Нет ниодной мысли по поводу этого задания.

файл исходных данных содержит значения N целых элементов одн массива. Написать, отладить и протестировать программу, выполняющую:
1. Чтение данных из файла с использованием функций ввода/вывода языка Си.
2. нахождение максимального элемента вектора между первым и вторым четными элементами.
3. Вычисление суммы элементов, расположенных до последнего положительного элемента вектора. При реализации программы в обращении к элементам массива использовать индексы.

Помогите чем можете.
horosho15 вне форума Ответить с цитированием
Старый 22.12.2015, 22:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм...
Код:
// пп.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <fstream>
#include <string>
#include <iostream>
using namespace std;

/*файл исходных данных содержит значения N целых элементов одн массива. Написать, отладить и протестировать программу, выполняющую:
1. Чтение данных из файла с использованием функций ввода/вывода языка Си.
*/

void CreateFile(string s,int n){
	ofstream o(s.c_str());
	o<<n<<' ';
	for(;n>=0;n--) o<<n<<' ';
	o.close();
}

int* OpenFile(string s){
	ifstream f(s.c_str());
	int n; f>>n;
	int *a=new int[n];
	for(int i=0;i<n;i++) f>>a[i];
	f.close();
	return a;
}
//2. нахождение максимального элемента вектора между первым и вторым четными элементами.
int max(int* a,int n){
	int i,max;
	for(i=0;i<n && !(a[i]%2); i++); i++;
	for(max=a[i];i<n && !(a[i]%2); i++) if(a[i]>max) max=a[i];
	return max;
	
}
//3. Вычисление суммы элементов, расположенных до последнего положительного элемента вектора.
int sum(int* a,int n){
	int i,s=0;
	for(i=n-1;i>=0 && a[i]<0; i--);
	for(;i>=0; i--) s+=a[i];
	return s;
	
}

int _tmain(int argc, _TCHAR* argv[])
{
	string s="d:\\1\\f";
	CreateFile(s,10);
	int* a=OpenFile(s);
	cout<<max(a,10)<<endl<<sum(a,10);
	cin.get();
	return 0;
}
Только особо не обольщайся )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2015, 22:51   #3
horosho15
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 15
По умолчанию Stilet

Храни тебя Бог! Огромное человеческое спасибо тебе! Да прибудет с тобой сила!
horosho15 вне форума Ответить с цитированием
Старый 22.12.2015, 22:54   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ого! Прям крик спасенного с Титаника...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ работа с массивами danil123 Помощь студентам 1 12.11.2013 19:52
Работа с массивами abc7 Общие вопросы C/C++ 2 01.06.2013 16:41
Работа с массивами. sanchosss Общие вопросы C/C++ 2 01.05.2012 02:31
Работа с массивами(Си++) GNick Помощь студентам 2 12.01.2010 00:27
Работа с массивами mchip Microsoft Office Excel 4 11.03.2009 17:11