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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 20:22   #1
Enigmya
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 19
По умолчанию Задача на массивы. С++

Помогите, пожалуйста, начинающей программистке. Набросала програмку. Чего то не получается. Пишу в Visual studio.

Дан массив целых чисел. Необходимо подсчитать сумму элементов массива, которые отличны от последнего числа массива.

#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <ctime>
#include <math.h>

using namespace std;
void main()
{int n;
int vremper = 0, a;
const int arraySize = 10; // указывает размер массива
int A[arraySize]; // объявление массива
{
cout << "Введите массив из 10 элементов. \n";
for (int j=0; j<arraySize; j++)
cout << "A[" << j << "]= ";

}
for(a=0 ; a<n ;a++)
if(A[9]=A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8])
{vremper=0;

int Sum = 0;
for (int j = 0; j < arraySize; j++)
Sum += A[j];
cout << "Сумма значений элементов массива = " << Sum << '\n';
cin.get();
return 0;
}
Enigmya вне форума Ответить с цитированием
Старый 10.02.2011, 20:59   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Оформляйте программу тегом CODE, для чего выделите его и нажмите значок # на панели сообщения.
По поводу программы:
Код:
{
cout << "Введите массив из 10 элементов. \n";
for (int j=0; j<arraySize; j++)
cout << "A[" << j << "]= "; 

}
где инициализация массива, т.е присвоение значений элементам массива?
нужно добавить или cin>>A[j], или рандомный.
Код:
for(a=0 ; a<n ;a++) 
if(A[9]=A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8]) 
{vremper=0; 

int Sum = 0; 
for (int j = 0; j < arraySize; j++)
Sum += A[j];
cout << "Сумма значений элементов массива = " << Sum << '\n';
cin.get();
return 0;
}
замените на
Код:
{
int Sum = 0; 
for (int j = 0; j < arraySize; j++)
if(A[j]!=A[9])
Sum += A[j];
}
cout << "Сумма значений элементов массива = " << Sum << '\n';
cin.get();
return 0;
}
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 10.02.2011, 21:58   #3
Enigmya
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 19
По умолчанию Переделка

Спасибо.
что-то не то получается. Что не так делаю?

Код:
#include <iostream>
#include <conio.h>		
#include <time.h>		
#include <stdlib.h> 
#include <ctime>		
#include <math.h> 

using namespace std;	
void main()
{
	int n;
	const int arraySize = 10; // указывает размер массива 			
	int A[arraySize]; // объявление массива
	cout << "Введите массив из 10 элементов. \n";
	for (int j=0; j<arraySize; j++)
	cout << "A[" << j << "]= " <<;
            cin>>A[j]; 
	
	{int Sum = 0; 
	for (int j = 0; j < arraySize; j++)
	if(A[j]!=A[9])
	Sum += A[j];}
	 
	cout << "Сумма значений элементов массива = " << Sum << '\n';
	cin.get();
 	
 }

Последний раз редактировалось Enigmya; 10.02.2011 в 22:22.
Enigmya вне форума Ответить с цитированием
Старый 10.02.2011, 22:32   #4
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Цитата:
Что не так делаю?
Разумеется.
1) после первого for надо скобки
2) а здесь они не нужны
Код:
{int Sum = 0; 

	for (int j = 0; j < arraySize; j++)
	if(A[j]!=A[9])
	Sum += A[j];}
3) по стандарту тип main() должен быть int
4) кроме <iostream> в этой программе другие инклудники не нужны
В итоге:
Код:
#include <iostream>

using namespace std;	
int main()
{
	int n;
	const int arraySize = 10; // указывает размер массива 	

	int A[arraySize]; // объявление массива

	cout << "Введите массив из 10 элементов. \n";

	for (int j=0; j<arraySize; j++){

		cout << "A[" << j << "]= ";

        cin>>A[j]; 
	}
	
	int Sum = 0; 

	for (int j = 0; j < arraySize; j++)
	if(A[j]!=A[9])
	Sum += A[j];
	 
	cout << "Сумма значений элементов массива = " << Sum << '\n';
	cin.get();

 	
 }
optimator вне форума Ответить с цитированием
Старый 10.02.2011, 22:53   #5
Enigmya
Пользователь
 
Регистрация: 10.02.2011
Сообщений: 19
По умолчанию

спасибо за решение
Enigmya вне форума Ответить с цитированием
Старый 10.02.2011, 23:02   #6
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

Цитата:
3) по стандарту тип main() должен быть int
ничего если я по своему стандарту в этой программе сдлеаю вместо int void ?
и вообще если main да и любая другая функция имеет целочисленный тип она должна что то возвращать. по крайней мере в билдере должно быть return 0. если я не прав поправте меня.

Последний раз редактировалось wm_leviathan; 10.02.2011 в 23:05.
wm_leviathan вне форума Ответить с цитированием
Старый 11.02.2011, 08:21   #7
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Цитата:
ничего если я по своему стандарту в этой программе сдлеаю вместо int void ?
А у вас свой стандарт языка?
Цитата:
Сообщение от wm_leviathan Посмотреть сообщение
и вообще если main да и любая другая функция имеет целочисленный тип она должна что то возвращать. по крайней мере в билдере должно быть return 0. если я не прав поправте меня.
Читаем здесь http://ru.wikipedia.org/wiki/C%2B%2B
пример №2
Цитата:
В C++ (как и в C), если выполнение программы доходит до конца функции main(), то это эквивалентно return 0;. Это неверно для любой другой функции кроме main().

Последний раз редактировалось optimator; 11.02.2011 в 08:26.
optimator вне форума Ответить с цитированием
Старый 11.02.2011, 08:28   #8
aidos
 
Регистрация: 11.02.2011
Сообщений: 8
По умолчанию

ya ne mogu rewit' zadachu na delphi(pomogite plz y=2/1*2/3*4/3*4/5*6/5*6/7*...*50/40*50/51
i voobwe kak pisat' podpiski?otkryt' temu chtoby mne pomogli
aidos вне форума Ответить с цитированием
Старый 11.02.2011, 08:44   #9
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
ya ne mogu rewit' zadachu na delphi(pomogite plz y=2/1*2/3*4/3*4/5*6/5*6/7*...*50/40*50/51
i voobwe kak pisat' podpiski?otkryt' temu chtoby mne pomogli
Объявить 2 переменных - chisl и znam (числитель и знаменатель соответственно), далее циклом for от 1 до нужного числа считать. Если счетчик нечетный - увеличиваем числитель, четный - увеличиваем знаменатель, считаем новую дробь и домножаем на неё то, что уже есть.

Готовое решение - за отдельную плату.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 11.02.2011, 09:05   #10
exn
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 51
По умолчанию

писать на транслите, моветон!
exn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на массивы KirkHammett Паскаль, Turbo Pascal, PascalABC.NET 4 06.01.2011 10:08
Задача на массивы. Хайд Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2010 01:01
Задача на массивы crew_92 Помощь студентам 3 28.12.2009 19:39
Задача на массивы С/C++ Nina+ Помощь студентам 10 12.03.2009 20:43