Форум программистов, компьютерный форум CyberForum.ru

Запись вектора строк в массив указателей на тип char - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа по строкам http://www.cyberforum.ru/cpp-beginners/thread1042215.html
Вычислить арифметическое выражение, заданное в формате строки. Строка может содержать числа, а также операции сложения и вычитания. пример: 6+2-7+3. результат: 4 (sprintf и sscanf использовать нельзя!)
C++ По неведомой причине не работает программа Помогите исправить ошибку #include <clx.h> #pragma hdrstop #pragma argsused #include <iostream.h> #include <iomanip.h> #include <stdlib.h> #include <conio.h> typedef struct tree http://www.cyberforum.ru/cpp-beginners/thread1042214.html
Массив структур. Доступ к вложениям C++
Добрый день.Написал вот такой код для структур,но при компиляции выдает ошибки с оператором доступа(.).В чем дело,не пойму.Помогите пожалуйста. struct krama {struct monitor; struct key; struct mouse;}; struct krama all; struct monitor{
C++ Builder6 Найти номер минимального непарного элемента строки, у которого пятый элемент равняется последнему
Прошу помощи, осталось всего неделя до конца сессии(((( Дан массив R(8,8) Найти номер минимального непарного элемента строки, у которого пятый элемент равняется последнему.
C++ метод золотого сечения http://www.cyberforum.ru/cpp-beginners/thread1042191.html
Нашел на форуме прогу для оптимизации методом золотого сечения.Переделав ее под себя я не пойму вот этого for(i=-1;i<=1;i+=2).зачем вводить этот цикл?объясните пожалуйста.Вот и сам код: #include <stdio.h> #include <conio.h> #include <math.h> #include <locale.h> float f(float x) {return (0.983902)*x*x + (-0.069894)*x + (-0.074655);} int main(void) { int i,m=0;
C++ Эллипс спускается с горки и поднимается в другую Эллипс спускается с горки и поднимается в другую. Вот ссылка на картинку задания: http://webfile.ru/ce8074c574e6d68677c7b1eddb1c0ceb подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6350 / 2997 / 296
Регистрация: 04.12.2011
Сообщений: 8,044
Записей в блоге: 3
15.12.2013, 18:44     Запись вектора строк в массив указателей на тип char
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <string>
#include <vector>
#include <windows.h>
using namespace std;
int main(){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
const int sz = 7;
char *source_c_str[] = {"Mama","мыла","Раму","Кришну", "Вишну", "вишню","раму"};//для простой инициализации массива. Дальше забудем о нём
////////////
vector<string> vec(source_c_str, source_c_str+sz);
//объявляем искомый массив указателей также как и source_c_str, а инициализирум позже:
char *output_c_str[sz];
vector<string>::iterator beg_it = vec.begin();
vector<string>::iterator end_it = vec.end();
int len_tmp=0;
int shift_in_output_c_str=0;
 
for(vector<string>::iterator it = beg_it; it != end_it; ++it){
    len_tmp=it->size()+1;
*(output_c_str+shift_in_output_c_str) = new char[len_tmp];
 
strcpy(*(output_c_str+shift_in_output_c_str), it->c_str());
shift_in_output_c_str++;
}
 
for(int i=0; i<sz; ++i)cout<<*(output_c_str+i)<<" ";
cout<<endl;
cout<<"Вернее:"<<endl;
cout<<*output_c_str<<" "<<*(output_c_str+1)<<" "<<*(output_c_str+6)<<"!"<<endl;
system("pause");
return 0;
}
Садистский с точки зрения синтаксиса примерчик. Как раз для укрепления духа.
 
Текущее время: 10:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru