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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2011, 17:45   #1
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию таблица с данными в с++

Идея таковва при написании софтинки столкнулся с большим и ненужныим объемом инфы. встал вопрос создать таблицу в шапке которой будут просто к примеру
столбцы I
cстроки J
данные(три типа)
Масимальный элемент(в цифрах)
ну и снизу пояснение в форме
d - dssd
k- cxcxc
l- xcxc


... это должно появиться в командной строке...

Старый код который хочу рациОнализировать)(то есть он пока полурабочий):
Код:
#include <iostream>
#include <iostream>
#include <stdio.h>
#include <ctime>
using namespace std;
void main()
{
    srand( time( NULL ) );
    
    int i,j,n,m,p,r,z,e,k,d,l,v;
	int C[100][100], F[40],A[100][100]; 
    cout <<"Vvedite kolichestvo strok: "; 
        cin >> n;
    cout <<"Vvedite kolichestvo stolbcov: "; 
        cin >> m;
    cout <<"Vvedite tip dannih v massive:(d,l,v)\n";
	cout <<"  - chislovie(d)\n";
	cout <<"  - bukvennie(l)\n";
	cout <<"  - smeshannie(v)\n";
    cout<<"   \n";    
	cin >> d,l,v;
	
    n--;
    m--;
    /* Vvod elementov*/
   
    for (i=0; i<=n; i++)
    {
       for (j=0; j<=m; j++)
       {
           A[i][j]=rand () % d;
           cout.width(5); cout << A[i][j];
       }
       cout << endl;
     }
     i=0;
     j=0;
     p=-1;
     F[0]=1;
     F[1]=1;
while (i<=n)
     {
        p++;
        if (p > 1)  F[p]=F[p-1] + F[p-2];
        for (z=0; z <= (F[p]-1); z++)
          {
             if (j < m)
             {
                C[p][z]=A[i][j];
                j++;
             }
             else
             {
               if (i < n)
                {
                  C[p][z]=A[i][j];
                  j=0;
                  i++;
                }
                else
                {
                  C[p][z]=A[i][j];
                  e=z;
                  goto M1;
                }
             }
        }
    }
M1:;
     cout << endl;
    /* Vivod elementov*/
     for (k=0; k<=p; k++)
     {
       if (k==p) F[k]=e+1;
    
       cout << endl;
     }
	 
int t; 
cin >>t;
}
народ если есть толкоывй пример как сделать то что я задумал для ввода данных плиз отпишите
west.by вне форума Ответить с цитированием
Старый 07.08.2011, 18:40   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Цитата:
Сообщение от west.by Посмотреть сообщение
void main()
int main()
Цитата:
Сообщение от west.by Посмотреть сообщение
#include <iostream>
#include <iostream>
#include <stdio.h>
2 раза зачем?
stdio зачем?
где cstdlib для rand ?
Цитата:
Сообщение от west.by Посмотреть сообщение
cin >> d,l,v;
работает не так как вы ожидаете
Цитата:
Сообщение от west.by Посмотреть сообщение
n--;
m--;
зачем если можно i< n, j <m
Цитата:
Сообщение от west.by Посмотреть сообщение
goto M1;
}
}
}
}
M1:;
вместо этого break. для выхода из главного цикла флаги вам в помощь.
Цитата:
Сообщение от west.by Посмотреть сообщение
int t;
cin >>t;
std::cin.get(); же


Пс: нормально сформулируешь чего тебе нужно получишь идеи по реализации, пока вот только это.
Смыла кода не вижу (т.к не понял даже че надо делать)
onewho вне форума Ответить с цитированием
Старый 07.08.2011, 20:18   #3
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

условие задачи такое:
описание класса для работы с цепными списками строк (строки произвольной длины) с операциями:
- включения в список,
- удаления из списка элемента с заданным значением данного
- удаления всего списка или конца списка, начиная с заданного элемента..

Ну и программа должна сожержать понятное меню для проверки всех этих методов
west.by вне форума Ответить с цитированием
Старый 07.08.2011, 20:34   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Хм, в вашем коде и намёка на правильную реализацию задания нет. Во-первых, нужно описать класс, то есть как-то так
Код:
class StringList {
...
};
Это должно навести на соответствующие мысли. По сути: почитайте про связные списки, в интернете полно демонстрационных реализаций связных списков, в том числе и связных списков строк.
netrino вне форума Ответить с цитированием
Старый 07.08.2011, 20:43   #5
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение

вместо этого break.
для выхода из главного цикла флаги вам в помощь.

std::cin.get(); же
В первом случае после выставления брейка компилятр ругался на 43 строку
во втором при измении у меня компилятор самопроивольно закрывается при выводе массива
west.by вне форума Ответить с цитированием
Старый 07.08.2011, 20:57   #6
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Хм, в вашем коде и намёка на правильную реализацию задания нет. Во-первых, нужно описать класс, то есть как-то так
Код:
class StringList {
...
};
Это должно навести на соответствующие мысли. По сути: почитайте про связные списки, в интернете полно демонстрационных реализаций связных списков, в том числе и связных списков строк.
да вообще инфы полезной нет-если есть полезные линки и вас не затруднит их выложить сюда-буду благодарен

ЗЫ: так решал только по тому что думал что это массив обычный имеллся ввиду
west.by вне форума Ответить с цитированием
Старый 07.08.2011, 23:28   #7
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

у меня совсем не получилось логически связать первый пост и
Цитата:
условие задачи такое:
описание класса для работы с цепными списками строк (строки произвольной длины) с операциями:
- включения в список,
- удаления из списка элемента с заданным значением данного
- удаления всего списка или конца списка, начиная с заданного элемента..

Ну и программа должна сожержать понятное меню для проверки всех этих методов
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 08.08.2011, 16:20   #8
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

автор гугли на тему "двусвязные списки" , реализаций действительно море.
спроси препода можно ли использовать std::string . тогда не нуэно будет думать о размере строки. будешь использовать в качестве ключа. иначе придется морочиться с char* ...

http://www.vr-online.ru/content/s-dv...ye-spiski-3085
по 2ой ссылке же нашёл
onewho вне форума Ответить с цитированием
Старый 08.08.2011, 17:00   #9
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

препода нет все по книжке. длина строки ничем не ограничена.
west.by вне форума Ответить с цитированием
Старый 08.08.2011, 17:21   #10
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

cссылк не открывается
west.by вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сводная таблица с данными на 2х листах Elena_hen Microsoft Office Excel 5 11.11.2010 09:19
Схема с данными Fezdipekla Microsoft Office Excel 0 11.06.2010 10:29
Обмен данными saggy Работа с сетью в Delphi 1 14.02.2010 13:10
непонятки с данными KiSH333 БД в Delphi 5 01.09.2008 08:36
Файл с данными werser БД в Delphi 1 24.05.2008 23:40