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

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

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

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

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

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

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

У меня уже кое что есть похожее:

Код:
#include<iostream.h>
#include<math.h>
main()
{
const n=10;
int a[n],i,j,b;
for(i=0;i<n;i++)
{
cout<<"Vvedite "<<i+1<<" element massiva\n";
cin>>a[i];
}
cout<<"Vveden massiv\n";
for(i=0;i<n;i++)
cout<<a[i]<<" ";

for(j=0;j<n;j++)
for(i=0;i<n;i++)
if (fmod(a[i],2) !=0)
{
b=a[i];
a[i]=a[i+1];
a[i+1]=b;
}
cout<<endl<<"Massiv posle sortirovki\n";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cin>>i;

}

Последний раз редактировалось Stilet; 01.04.2010 в 16:18.
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 16:51   #2
Познающий
Форумчанин
 
Аватар для Познающий
 
Регистрация: 09.05.2009
Сообщений: 162
По умолчанию

виноват, а где список односвязный?
Я пробежал по коду - вроде логика верна, но надо по заданию сделать такую гадость как динамический массив:
объявляем структуру
struct LIST{
int some_num;
LIST*next;
}

потом в проге ее используем:
LIST*pointer=new LIST; //создалась адна ячейка.
LIST *extraptr=poitner; // я так делаю чтоб не терять голову.

чтоб заполнить список односвязный значениями из некой матрицы А надо вот...

for (int i=0;i<N-1;i++) // мои извращения н-1
{ extraptr->some_num=A[i];extraptr->next=new LIST;extraptr=extraptr->next;
}

extraptr->some_num=A[N];

по поводу извращения - я огранизовал цикл так, что каждый раз после присваивания создается ячейка и на это береца память, но зачем нам создавать ячейку после присваивания последнего элемента?

В общем поверхностно я показал как сделать односвязный список, если этого мало то можно в книгах порыться)) Дейтелов или Павловскую почитать
С наилучшими пожеланиями.
Познающий вне форума Ответить с цитированием
Старый 01.04.2010, 16:54   #3
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
По умолчанию

Код:
#include "stdafx.h"
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");

int a[9] ;
int c;
int buf;
int counter = 0;
for(c=0;c < 9;c++)
{
cout << "Введите " << c << " элемент массива ";
cin >> a[c];
}
while (counter < 8)
{

for(int n = 0; n < (8-counter); n++ )
{
buf=a[n];
a[n]=a[n+1];
a[n+1]=buf;
}

counter++;
}
return 0;
}
Только одна проблема...я хз как правильно это вывести...по отладчику проверил вроде всё правильно...первый элемент становится последним, последний первым и т.д. пока не перевернётся весь массив...только это для 9 элементов...

Последний раз редактировалось Stilet; 01.04.2010 в 16:56.
Ma666oT вне форума Ответить с цитированием
Старый 01.04.2010, 16:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вывести:
Код:
 for(int n = 0; n < 9; n++ ) {  cout<<a[n]<<'\t';}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.04.2010, 17:13   #5
Ma666oT
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 17
По умолчанию

У меня получилась вот такая фигня.....По-моему бред сивой кобылы...

#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;
}

counter++;
}
_getch();
return 0;
}
Ma666oT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированые файлы целых чисел Neyrone Помощь студентам 8 19.02.2010 12:29
Алгоритм вычитания целых чисел HDMI Помощь студентам 2 27.01.2010 13:36
массив целых чисел -ushёl- Помощь студентам 4 28.02.2009 19:18
массив целых чисел ^SPARTAK^ Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2008 10:59
Перемещение из массива целых чисел... Си Sota Помощь студентам 1 01.06.2008 19:51