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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2013, 20:25   #1
DelfiDups
Новичок
Джуниор
 
Регистрация: 07.06.2013
Сообщений: 7
По умолчанию Массив проверить (С++)

Проверьте пожалуйста)
Вот сама задача:В одномерном массиве, состоящем из n вещественных элементов, вычислить количество элементов массива, расположенных после минимального по модулю элемента
Код:
#include<math.h> #include<stdio.h>
main(){
int a[n];
int min_i,A,i,imin;
printf ("%s \n", "Vvedite kol-vo el-ov massiva");
scanf("%d \n", n);
for(int i = 0; i < n; i++)
{
min_i=0;
for (i=1; i<N; i++)
if (abs(A[i])<abs(A[imin])
imin=i;
return N-imin-1;
}
printf("%s \n", "Kolichestvo elementov=",min_i);
for(int i = 0; i < n; i++)
{
printf ("%d ", a[i]);
}
Return 0;
}


и еще одну)
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива , расположенных после первого элемента, равного нулю
Код:
#include<math.h>*
#include<stdio.h>
main(){
int a[n];
int null_met,sum,A,i;
printf ("%s\n","Vvedite kolichectvo elementov");
20:09:34	
scanf ("d\n",n);
for(int i = 0; i < n; i++)
{
null_met=0;
sum=0;
for (i=0; i<N; i++)
{
if (A==0)*
{
null_met=i;
break; // выход из цикла
}
}

for (i=null_met+1; i<N; i++)
sum = sum + A;

{
printf("%d\sum", "Summa ravna= ",sum);
return 0;
}

Последний раз редактировалось Stilet; 08.06.2013 в 20:46.
DelfiDups вне форума Ответить с цитированием
Старый 08.06.2013, 20:38   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Самое первое - попробовать скомпилировать программы.
1)
Цитата:
prog.cpp:1:18: warning: extra tokens at end of #include directive [enabled by default]
prog.cpp:2:6: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
prog.cpp: In function ‘int main()’:
prog.cpp:3:7: error: ‘n’ was not declared in this scope
prog.cpp:5:48: error: ‘printf’ was not declared in this scope
prog.cpp:6:17: error: ‘scanf’ was not declared in this scope
prog.cpp:10:13: error: ‘N’ was not declared in this scope
prog.cpp:11:12: error: invalid types ‘int[int]’ for array subscript
prog.cpp:11:13: error: ‘abs’ was not declared in this scope
prog.cpp:11:25: error: invalid types ‘int[int]’ for array subscript
prog.cpp:12:1: error: expected ‘)’ before ‘imin’
prog.cpp:13:8: error: ‘N’ was not declared in this scope
prog.cpp:18:16: error: ‘a’ was not declared in this scope
prog.cpp:20:1: error: ‘Return’ was not declared in this scope
prog.cpp:20:8: error: expected ‘;’ before numeric constant
prog.cpp:4:13: warning: unused variable ‘i’ [-Wunused-variable]
2)
Цитата:
prog.cpp:1:17: warning: extra tokens at end of #include directive [enabled by default]
prog.cpp:3:6: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
prog.cpp: In function ‘int main()’:
prog.cpp:4:7: error: ‘n’ was not declared in this scope
prog.cpp:12:13: error: ‘N’ was not declared in this scope
prog.cpp:15:1: error: expected primary-expression before ‘{’ token
prog.cpp:15:1: error: expected ‘;’ before ‘{’ token
prog.cpp:21:22: error: ‘N’ was not declared in this scope
prog.cpp:25:8: warning: unknown escape sequence: '\s' [enabled by default]
prog.cpp:25:37: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘const char*’ [-Wformat]
prog.cpp:25:37: warning: too many arguments for format [-Wformat-extra-args]
prog.cpp:27:1: error: expected ‘}’ at end of input
prog.cpp:5:20: warning: unused variable ‘i’ [-Wunused-variable]
prog.cpp:27:1: error: expected ‘}’ at end of input
Регистр букв важен.
С таким форматированием потерять скобочку раз плюнуть.
Кстати, не увидел НИЧЕГО от с++ в коде. Может быть, это си код? Просто си и с++ - разные языки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.06.2013 в 20:41.
BDA вне форума Ответить с цитированием
Старый 08.06.2013, 20:38   #3
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

в первой задаче один цикл находится внутри другого. там где то ошибка точно есть
revizor вне форума Ответить с цитированием
Старый 08.06.2013, 20:56   #4
DelfiDups
Новичок
Джуниор
 
Регистрация: 07.06.2013
Сообщений: 7
По умолчанию

У меня нет програмы сейчас в доступе,я не могу скомпилировать(
DelfiDups вне форума Ответить с цитированием
Старый 08.06.2013, 21:06   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Или скачать Code::Blocks (100 мб), или воспользоваться ideone.com (онлайн-компилятор - список ошибок как раз из него).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.06.2013, 21:16   #6
DelfiDups
Новичок
Джуниор
 
Регистрация: 07.06.2013
Сообщений: 7
По умолчанию

Спасибо большое)
DelfiDups вне форума Ответить с цитированием
Старый 08.06.2013, 21:45   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Пожалуйста. Компилятор укажет Вам на ошибки в синтаксисе. На следующем этапе нужно придумать несколько тестов для проверки правильности работы. Если опустить ошибки в синтаксисе, то тут есть еще ошибки в алгоритме.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.06.2013, 22:44   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Ошибок в коде конечно хватает. Для начала, на мой взгляд, нужно определиться - это Си или С++. Хотя согласно теме - это C++.

Немного переделал вторую задачу...
Код:
#include <iostream>
#include <cstdlib>

using namespace std;

int main()	{
	int n = 0;
	int oneNull = 0;
	
	system("chcp 1251 > nul");
	cout << " Введите количество элементов: ";	cin >> n;
	
	int *a = new int[n];
	int summa = 0;
	
	/* Заполнение массива */
	cout << "\n Введите элементы массива:" << endl;
	for(int i = 0; i < n; i++)
	{
		cout << " [" << i << "] - "; 
		cin >> a[i];
		if(a[i] == 0 && oneNull == 0)
			oneNull = i;
	}
	/* Подсчет суммы */
	for(int i = oneNull + 1; i < n; i++)
		summa += a[i];
        delete []a;
	cout << " ---------\n Сумма: " << summa << endl;
return 0;
}
Вот первое задание:
Код:
#include <iostream>
#include <cstdlib>
#include <cmath>

using namespace std;

int main()	{
	int n = 0;
	int InMinMod = 0;			// Минимальный модуль
	int counter = 0;			// Счетчик элементов
	
	system("chcp 1251 > nul");
	cout << " Введите количество элементов: ";	cin >> n;
	
	int *a = new int[n];
	
	/* Заполнение массива */
	cout << "\n Введите элементы массива:" << endl;
	for(int i = 0; i < n; i++)
	{
		cout << " [" << i << "] - "; 
		cin >> a[i];
	}

	/* Выявление индекса минимального модуля */
	for(int i = 1; i < n; i++)
		if(abs(a[i]) < abs(a[InMinMod]))
			InMinMod = i;
	
	/* Подсчет количества элементов */
	for(int i = InMinMod + 1; i < n; i++, counter++);
		
	cout << " ---------\n Количество элементов: " << counter << endl;

	delete []a;
return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 09.06.2013 в 00:25.
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверить массив симметричен или нет kalosha-stepa Паскаль, Turbo Pascal, PascalABC.NET 7 19.09.2012 22:13
Как проверить что массив полностью заполнен? ofenod Microsoft Office Excel 8 02.05.2011 18:12
Проверить создан ли уже массив slips Общие вопросы C/C++ 2 19.04.2009 18:31
ПОМОГИТЕ ПРОВЕРИТЬ ЗАДАЧКУ НА ПАСКАЛЕ!Матрица,2-Х мерный массив! vdv08 Помощь студентам 6 23.09.2008 13:13