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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 18:09   #1
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
Восклицание Сформировать новый список, в котором элементы следуют от конца к началу

Создать односвязный список с помощью массива целых чисел. Сформировать новый список, в котором элементы следуют от конца к началу (последний элемент станет первым, предпоследний – вторым и т.д.). Результирующий список вывести на экран. Порядок чисел в спи-ске задается массивом индексов следующих элементов (next).

вот что получилось у меня:

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


int main()
{


int a[9] ; //объявление массива
int c;
int buf; // буфер
int counter = 0; // счётчик
for(c=0;c < 9;c++) // в этом цикле присваиваем значения массиву
{
cout << "Vvedite" << c << " element massiva ";
cin >> a[c];
}
while (counter < 8)
{

for(int n = 0; n < 9; n++ ) { cout<<a[n]<<'\t';} // в этом цикле начинаем сортировку, переносим каждый первый элемент на последнее место
{
buf=a[n]; // заносим первый элемент в буфер
a[n]=a[n+1];// задаём первому элементу второй
a[n+1]=buf; // на 2-ое место ставим первое значение массива
}

counter++; // увеличиваем значение счётчика
}

_getch();
return 0;
}
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 18:21   #2
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Попробуй вместо всего цикла while вставить данный код:
counter = 8;
for (int n = 0; n < 4; n++){
buf = a[n];
a[n] = a[n + counter];
a[n + counter] = buf;
counter-=2;
}

Последний раз редактировалось D61C76h; 01.04.2010 в 18:27. Причина: Неверный код
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 18:26   #3
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
По умолчанию

вставил! и получился вот такой массив: 9 1 2 3 5 6 7 8 4
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 18:56   #4
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Странно у меня все работает. Вот мой код:
Код:
int _tmain(int argc, _TCHAR* argv[])
{
	int a[9];
	int buf, counter = 0;
	for (int i = 0; i <9; i++){
		cout << "Vvedite" << i << " element massiva";
		cin >> a[i];
		//a[i] = i + 1;   Для автоматического ввода
	}


	counter = 8;
	for (int i = 0; i < 4; i++){
		buf = a[i];
		a[i] = a[i + counter];
		a[i + counter] = buf;
		counter-=2;
	}
	for (int i = 0; i < 9; i++) cout << a[i] << " ";
	_getch();
	return 0;
}
D61C76h вне форума Ответить с цитированием
Старый 01.04.2010, 23:25   #5
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
По умолчанию

мне выдаёт ошибку: syntax error : identifier '_TCHAR'
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 23:49   #6
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
По умолчанию

Упс.....Нет, ложная тревога)))Разобрался))
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 23:54   #7
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Просто я писал в C++Builder 2010. Строку int _tmain(int argc, _TCHAR* argv[]) замени на int main() и все.
D61C76h вне форума Ответить с цитированием
Старый 02.04.2010, 00:15   #8
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
Восклицание

Я так и понял.....

Слушай, не мог бы помочь ещ с этой:
Создать очередь для символов. Максимальный размер очереди вводится с экрана. Создать функции для ввода и вывода элементов очереди. Добавлять символы с экрана в очередь. В случае совпадения вводимого символа с последним элементом очереди удалять и выводить на экран все элементы очереди

и с этой:
Создать два стека для символов. Максимальный размер стеков вво-дится с экрана. Создать функции для ввода и вывода элементов стека. Вводить символы с экрана в стеки поочередно. Задачу решить с использованием механизма указателей.

задачами????Пожалуйста!!!!Послезавт ра нужно сдать.....
Ma666oT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из четных чисел исходного массива сформировать новый массив sanya006 Помощь студентам 3 11.11.2009 19:14
Задача: сформировать новый массив, содержащий номера строк матрицы, имеющих отрицательную сумму элементов Striker14 Помощь студентам 1 23.02.2009 23:29
Сформировать новый массив,содержащий отрицательные элементы - Задача по PASCAl. Waia Помощь студентам 2 17.12.2008 18:27
Сформировать список строк L1, считав его из файла input.txt Gaika Помощь студентам 4 03.07.2008 07:33