using namespace std;
void reverse(char a[],int slen, int elen)
{
int start,end,temp;
for(start=slen,end=elen;start<end;start++,end--)
{
temp=a[start];
a[start]=a[end];
a[end]=temp;
}
}
void reverseall(char b[])
{
char a[15];
int i,j,n=0,len;
for(i=14,j=0;i>=0,j<15;i--,j++)
a[j]=b[i];
i=0;
j=0;
while(a[i]!='\0')
{cout<<"h";
n++;
i++;
}
while(j!=n)
{
if(j!=0)
j++;
len=0;
while(a[j]!= ' ' && a[j]!='\0')
{
len++;
j++;
}
reverse(a,j-len,j-1);
}
for(i=0;i<n;i++)
cout<<a[i];
}
int main()
{
char b[20]="hi how are you";
reverseall(b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我修改了一个适当的反转工作程序 ,只添加了3行,而while循环现在不能正常工作.
for(i=14,j=0;i>=0,j<15;i--,j++)
a[j]=b[i];
i=0;
j=0;
Run Code Online (Sandbox Code Playgroud)
这是程序的链接,我希望输出为"你是多么喜欢". …
这是文件
303620.43,6187793.62
303663.61,6187757.08
303652.22,6187702.51
303580.10,6187685.43
303551.63,6187737.15
303574.88,6187775.11
303610.94,6187773.69
Run Code Online (Sandbox Code Playgroud)
当它被颠倒时,我得到了
303610.94,6187773.69303574.88,6187775.11
303551.63,6187737.15
303580.10,6187685.43
303652.22,6187702.51
303663.61,6187757.08
303620.43,6187793.62
Run Code Online (Sandbox Code Playgroud)
如何确保反转时的最后一行有一个'\n'?
我用C++编写了一个简短的String反向程序.我决定用Java编写它,所以我做到了.但是,一旦我完成了程序的编写,我遇到了一些我试图修复但无法解决的错误.其中一个错误是ArrayOutOfBounds异常.请帮我修复错误.C++程序运行良好.下面是Java代码.请注意,我不想使用内置功能.
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String word;
int i = 0;
boolean inp = true;
System.out.println("Enter one or more words to be reversed:");
word = scan.nextLine();
char wordArray[] = word.toCharArray();
while(wordArray[i]!='\0')
i++;
while(inp == true){
i--;
System.out.println(wordArray[i]);
if(i==0){
System.out.println();
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想要反转字符串中的所有单词
For Ex:- When my string is "How Are You" it should return "woH erA uoY"
我尝试下面的事情
def reverse_string(str)
arr = str.split(" ")
new_arr = arr.collect{|a| a.reverse}
new_arr.join(" ")
end
Run Code Online (Sandbox Code Playgroud)
但它不适用于字之间可能有多个空格的字符串.
我已经看到有一种非常方便的方法来反转ArrayList 像这里使用Collections.reverse()方法,但我需要为几种类型的原始对象(至少ArrayList和List我的自定义对象)实现这样的反向操作.因此Collections无法通过单一方法的延长使用来挽救我的生命.
到目前为止,我设法让stg工作(参见下面的代码),但我必须写两次:一次用于ArrayList,一次用于List.我把它们命名为相同,所以使用非常方便,但有些..优化会更方便:-).
如何将这两种方法共同化为单一(真实)通用方法?
谢谢
/**
* Generic Reverse Method for ARRAYLIST using Iterator
* @param ArrayList<Obj_item> notReversed
* @return ArrayList<Obj_item> reversed
*/
@SuppressWarnings("unchecked")
public static <Obj_item> ArrayList<Obj_item> GenReverseArrayByIterator(ArrayList<Obj_item> mylist) {
// ^^^^^^^^^^^^^^^^^^ how to make this generic ?
// Instanciate
ArrayList<Obj_item> tmp = new ArrayList<Obj_item>();
ArrayList<Obj_item> reversed = new ArrayList<Obj_item>();
// Copy original list
tmp = mylist;
// Generate an iterator, starting right after the last element.
@SuppressWarnings("rawtypes")
ListIterator …Run Code Online (Sandbox Code Playgroud) 我想拆分一个字符串,将其反转并用函数中的X而不是空格将其连接起来.
例如.
'世界卫生组织观察观众 - > - > SEHCTAWXOHWXSREHCTAWXEHT'
str = ("WHO WATCHES THE WATCHERS")
str = str.split(' ',4)
str.reverse()
print str
str = 'X'
seq = ("who", "watches", "the", "watchers")
print str.join(seq)
Run Code Online (Sandbox Code Playgroud)
但这只会让我:
['WATCHERS','THE','WATCHES','WHO']
whoXwatchesXtheXwatchers
当我想要"SEHCTAWXOHWXSREHCTAWXEHT"时
请回复简单的功能代码.我是初学者.
我发现,BOOST_REVERSE_FOREACH与BOOST_FOREACH的工作方式不同.
我的代码:
#include <boost\unordered_map.hpp>
#include <boost\foreach.hpp>
#include <iostream>
#include <string>
typedef boost::unordered_map<std::string, int> map;
int main()
{
map MyMap;
MyMap["two"] = 2;
MyMap["three"] = 3;
MyMap["one"] = 1;
std::cout << MyMap["one"] << MyMap["two"] << MyMap["three"] << std::endl;
BOOST_FOREACH (map::value_type value, MyMap)
{
std::cout << value.second;
}
std::cout << std::endl;
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我也想使用反向迭代.所以我补充说:
BOOST_REVERSE_FOREACH (map::value_type value, MyMap)
{
std::cout << value.second;
}
std::cout << std::endl;
Run Code Online (Sandbox Code Playgroud)
在此之后它无法编译,是否有人可以告诉如何在无序地图上使用反向foreach.
编译器给出:
1>c:\boost_1_52_0\boost\iterator\reverse_iterator.hpp(45): error C2675: unary '--' : 'boost::unordered::iterator_detail::iterator<NodePointer,Value>' does not define this operator …Run Code Online (Sandbox Code Playgroud) 我试图确定我的代码是否是回文,所以我创建了一个反向函数,然后创建了一个回文函数。我正在尝试将反转的Character数组分配给新函数,但似乎无法编译它。...有任何提示吗?这是我的回文功能
bool Palindrome(char Characters[], unsigned long length)
{
char tempstring[62];
tempstring[62] == reverse(Characters);
for(int i=0; i <= length; i++){
if(Characters[i] == tempstring[i])
return false;
else
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的反向功能
void reverse(char Characters[], unsigned long length)
{
char temp;
for(int i=0; i<length/2; i++){
temp = Characters[i];
Characters[i]=Characters[length-i-1];
Characters[length-i-1]=temp;
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在JavaScript中使用.reverse()方法来反转数组的顺序,但也试图保留原始数组中元素的原始顺序.当我将值保存到变量中时,我最终转换原始数组中的元素以及创建具有相同格式的新元素.执行此任务最有说服力的方法是什么?
var arrayOne = [1,2,3,4,5];
var arrayTwo = arrayOne.reverse();
//arrayTwo = [5, 4, 3, 2, 1]
//arrayOne = [5, 4, 3, 2, 1]
Run Code Online (Sandbox Code Playgroud) 我的代码是用python 3编写的,它的目的是打印出回文.它应该遍历2个3位数字的所有回文产品,如下所示:
mylist=[]
for i in range(999,99,-1):
for x in range(999, i-1, -1,):
number=i*x
number=str(number)
if number==number[::-1]:
#print(number)
mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)
Run Code Online (Sandbox Code Playgroud)
请注意已注释的打印件.当它仍然存在时,应该打印出的所有回文都出来了.当我运行我的代码而没有print语句时,控制台只打印出"无".
据我所知,我的逻辑是有序的,为什么会发生这种情况呢?编辑:此外,当我按相反顺序对列表进行排序时,首先是99999.我认为这是因为python看着连续的9并且认为它是最大的.但是,有没有一种简单的方法来获得实际最大的数字?
reverse ×10
c++ ×3
python ×3
arrays ×2
function ×2
java ×2
palindrome ×2
string ×2
android ×1
boost ×1
file ×1
iteration ×1
javascript ×1
join ×1
line ×1
python-3.x ×1
return ×1
ruby ×1
split ×1
while-loop ×1