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

Поменять символы одного массива на символы из другого - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите с массивами http://www.cyberforum.ru/cpp-beginners/thread539906.html
1. Дан двумерный массив. Сформировать одномерный массив только из четных элементов двумерного. (помогите решить) 2. В одномерном массиве удалить промежуток элементов от максимального до минимального. (Вот код, но не мне нужно чтоб выводило весь массив, кроме этого промежутка, а у меня выводит только промежуток и то без первого элемента) #include <stdio.h> #include <conio.h> int main()...
C++ Подскажите как используя указатель высчитать (max) и его строку! В одномерном массиве. #include <iostream> #include <stdlib.h> #include <time.h> #include <math.h> using namespace std; void vvod(int *a) { srand (time(NULL)); for (int i=0;i<15;i++) { http://www.cyberforum.ru/cpp-beginners/thread539901.html
C++ HRGN, CombineRgn. Программа работает некоторое время и виснит.
Задача: искать пересечения регионов и подсчитывать их. В итоге: программа компилится, работает, работает...а потом виснит (своеобразно) При чем время до зависания напрямую зависит от скорости наступления события OnTime Таймера. Помогите понять что вызывает такой эффект. Я не очень понимаю как устроена структура регионов и может быть я делаю с ними то, чего не стоило бы делать :( ...
Создайте программу расчета периметров C++
Создайте программу расчета периметров (длина окружности для круга) и площади различных фигур (квадрат, треугольник, круга, прямоугольник), рисования фигур с заданными параметрами и выход полученных результатов на экран. Данную программу необходимо реализовать через виртуальные функции getdata(), putdata(), draw(). Исходные данные необходимо получить из главный программы.
C++ Два вопроса от новичка http://www.cyberforum.ru/cpp-beginners/thread539856.html
Здравствуйте, читаю книгу Прата С. (5 издание), помогите: Почему эта программа после выполнения закрывается, если ввести строку где посередине будет '#'? (Например: 12345#123, ответ выводит правильно) Вроде в конце стоят доп. cin.get(); почему они не срабатывают...уже ставил и cin.clear(); и пустой счетчик (while) в качестве ожидания. #include <iostream> #include <cstring> #include...
C++ Определить, является ли введенный с клавиатуры символ десятичной цифрой, буквой или другим символом Написать программу, выводящую на экран сообщение является ли введенный с клавиатуры символ десятичной цифрой, буквой или другим символом. Основная программа запрашивает символ, вызывает функцию и в зависимости от возвращенного значения выводит сообщение. Функция возвращает 1 если символ числовой, 0 если буквенный и -1 для остальных символов. подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
05.04.2012, 18:51     Поменять символы одного массива на символы из другого
Вариант со строкой
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
 
int main ()
{
  char str1[]= "Maximum number of characters to be copied from source.";
  char str2[]= "abcdefghijklmnopqrstuvwxyz";
   size_t flag = 1;
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
        if(isalpha(str1[i]))flag = 1;
        else flag = 0;
        if(flag) {
            str1[i] = str2[j];
            j++;
            }
            if(!flag) j = 0;
            i++;
        }
  puts (str1);
 
 
system("pause");
    return 0;
}
Добавлено через 24 минуты
almostclever, если разбивка на слова не нужна то
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
 
int main ()
{
  char str1[]= "Maximum number of characters to be copied from source.";
  char str2[]= "abcdefghijklmnopqrstuvwxyz";
 
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
       if(j >= strlen(str2)) j = 0;
            str1[i] = str2[j];
            j++;
          i++;
        }
  puts (str1);
 
 
system("pause");
    return 0;
}
Добавлено через 23 минуты
Первую можно без флагов
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
 
        if(isalpha(str1[i]))
        {
            str1[i] = str2[j];
            j++;
            }
            else j = 0;
            i++;
        }
  puts (str1);
 
Текущее время: 14:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru